- scanf는 null terminate를 해 주고 그만큼의 추가 공간이 필요
- fread는 null terminate를 해 주지 않음 -> 배열이나 할당된 공간의 초기화 또는 직접 null terminate 필요
- scanf("%[^\n]", str)으로 \n 문자를 입력받지 않을 수 있음
- fread는 \n까지 읽어옴
// 100 글자 입력
char str[102] = {}; // null terminate를 위해 +1
int len = fread(str, sizeof(*str), sizeof(str) - 2, stdin);
str[--len] = 0; //\n 무시
for (int i = 0; i < len; i++)
...
반응형
'Code > C, C++' 카테고리의 다른 글
가위바위보 (0) | 2021.11.21 |
---|---|
VS2019 C/C++ IntelliSense 설정 (0) | 2021.04.17 |
malloc() 결과값의 캐스팅 (0) | 2020.11.27 |