70.7 연습문제: 서식을 지정하여 파일에서 문자열 읽기

position.txt에는 "x 30 y 20" 저장되어 있습니다. 다음 소스 코드를 완성하여 30 20을 출력하세요.

practice_file_read_format.c

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main()
{
    char c1, c2;
    int x, y;

    FILE *fp = ___________________________

    _______________________________________________
 
    printf("%d %d\n", x, y);

    fclose(fp);

    return 0;
}

실행 결과

30 20

정답

 fopen("position.txt", "r");
 fscanf(fp, "%c %d %c %d", &c1, &x, &c2, &y);

해설

먼저 fopen함수에 파일 이름은 "position.txt", 파일 모드는 "r"로 지정하여 파일을 읽기 모드로 엽니다. 그리고 fscanf 함수로 서식을 지정하여 파일에 저장된 문자열을 읽습니다. 여기서 파일의 내용은 "x 30 y 20"이라고 했으므로 서식은 "%c %d %c %d"와 같이 지정해주고, 변수 c1, x, c2, y의 주소를 차례대로 넣어주면 됩니다.