➐ 추첨번호 다음 줄에 있는 보너스번호를 읽어 오기 위해 fscanf()함수를 한 번 더 사용합니다. 이때 읽어 온 ‘보너스번호’ 문자열은 str2 배열에 저장하고, 보너스번호인 7은 bonus 변수에 저장합니다.
➑ printf()함수로 str2 배열과 bonus 변수에 저장된 값을 출력합니다.
➒ 파일 읽기가 끝나면 파일을 닫습니다.
10.3.2 fscanf.c
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#define MAX 10000 ------------------------ ➊ 매크로 정의
int main(void) {
char str1[MAX]; ---------------------- ➋ ‘추첨번호' 문자열 저장 배열 선언
char str2[MAX]; ---------------------- ➋ ‘보너스번호' 문자열 저장 배열 선언
int num[6] = { 0, 0, 0, 0, 0, 0 }; --- ➌ 추첨번호 저장 배열 초기화
int bonus = 0; ----------------------- ➌ 보너스번호 저장 변수 초기화
FILE * file = fopen("c:\\Users\\사용자계정\\test2.txt", "rb"); - ➍ 파일 포인터 얻기
if (file == NULL) {
printf("파일 열기 실패\n");
return 1;
}
fscanf(file, "%s %d %d %d %d %d %d", str1, &num[0], &num[1], &num[2], &num[3], &num[4], &num[5]); ------------------------------------ ➎ fscanf() 함수로 파일 읽기
printf("%s %d %d %d %d %d %d\n", str1, num[0], num[1], num[2], num[3], num[4], num[5]);
----------------------------------------- ➏ 추첨번호 출력
fscanf(file, "%s %d", str2, &bonus); ---- ➐ fscanf() 함수로 파일 읽기
printf("%s %d\n", str2, bonus); --------- ➑ 보너스번호 출력
fclose(file); --------------------------- ➒ 파일 닫기
return 0;
}
실행결과 |
추첨번호 1 2 3 4 5 6 보너스번호 7 |
실행해 보면 test2.txt 파일에 작성한 추첨번호 1, 2, 3, 4, 5, 6과 보너스번호 7이 잘 출력되는 것을 확인할 수 있습니다.