10장 해설
1분 퀴즈
1. ②
해설_ 읽기 전용 모드는 파일이 없는 경우 새로운 파일을 생성하지 않습니다.
2. ④
해설_ fopen() 함수로 파일 열기에 실패하면 NULL이 반환됩니다. 그래서 반드시 if 문으로 파일이 올바로 열렸는지 확인하고 나서 다음 작업을 진행해야 합니다.
3. ③
해설_ 파일 포인터가 가리키는 파일을 닫는 함수는 fclose()입니다
4. ③
해설_ 항목은 문자열, 개수는 정수이므로 이 값을 가져오려면 서식 지정자로 %s %d를 사용합니다.
5. ④
해설_ ab는 추가 모드로 해당 파일이 존재하면 기존 내용에 새로운 내용을 이어서 씁니다.
셀프체크
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <string.h>
int main(void) {
char word[256]=""; // 단어
char definition[256]=""; // 뜻
char input[256]=""; // 사용자 입력
FILE * file = fopen("C:\\Users\\사용자계정\\word.txt", "rb");
if (file == NULL) {
printf("파일 열기 실패\n");
return 1;
}
for (int i = 0; i < 3; i++) {
(void)fscanf(file, "%s %s", word, definition);
printf("'%s'(이)라는 뜻을 가진 영어 단어는? ", definition);
scanf_s("%s", input, (unsigned int)sizeof(input));
if (strcmp(input, word) == 0) {
printf("%s, 정답입니다.\n\n>", word);
} else {
printf("틀렸습니다. 정답은 %s입니다.\n\n", word);
}
}
fclose(file);
return 0;
}