#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main() {
int sz = 0x30;
char *buf = (char *)malloc(sizeof(char) * sz);
puts("Hello World!");
printf("Education + Hack = ?\n");
fgets(buf, sz, stdin);
if (!strncmp(buf, "DreamHack", 9))
printf("Welcome Hackers :)\n");
else
printf("No No :/\n");
return 0;
sz 입력 버퍼 크기 지정 48바이트
buf 포인터 변수에 malloc()함수로 48바이트의 크기 메모리 동적 할당
fgets()함수로 사용자 입력 stdin 받아서 buf에 저장
최대 입력크기 제한 sz -1 = 47 (null문자 포함)
예를 들어, "DreamHack1234567890123456789012345678901234567890" 입력하면,
> buf 에 저장되는 내용: "DreamHack1234567890123456789012345678901234" (뒤의 567890 는 잘림)
strncmp()함수가 입력값과 DreamHack을 처음 9글자만 비교
만약 입력값이 DreamHack으로 시작하면 조건이 참
'Study > C Language' 카테고리의 다른 글
c언어 python 문제 사이트 (0) | 2025.04.20 |
---|---|
c언어 프로그램 (0) | 2025.03.22 |
int* arr[3]의 의미 (0) | 2025.03.12 |
Comparison : base64 encoding & decoding program (0) | 2025.03.12 |
char *name vs char name[] (0) | 2025.03.08 |