C_C++/C_라이브러리_함수

(C언어) fscanf: 스트림에서 지정된 형식으로 데이터를 읽는다

고니자니 2023. 2. 9. 12:22
반응형

#fscanf #형식 #서식 #파일 #읽기

 

 

#include <stdio.h>
int fscanf(FILE *stream, const char *format[, address, ... ]);

fscanf 함수는 스트림으로부터 format으로 지정된 서식으로 데이터를 읽습니다.

address 갯수는 입력 필드의 개수와 일치해야 합니다.

읽기에 성공하면 입력 필드의 갯수를 반환하고, 파일의 끝을 읽으면 EOF, 저장된 필드가 없으면 0을 반환합니다.

 

#define _CRT_SECURE_NO_WARNINGS  // Visual Studio
#include <stdio.h>

int main()
{
	FILE* fp;
	char name[20];
	int kor, eng, mat, tot;

	if ((fp = fopen("fscanf.txt", "rt")) == NULL)
	{
		printf("파일을 생성할 수 없습니다.\n");
		return -1;
	}

	while (!feof(fp))
	{
		fscanf(fp, "%s %d %d %d", name, &kor, &eng, &mat);
		tot = kor + eng + mat;
		printf("%s %3d %3d %3d %3d %6.2f\n",
			name, kor, eng, mat, tot, (float)tot / 3);
	}
	fclose(fp);

	return 0;
}

아래와 같은 형식의 fscanf.txt 데이터 파일이 있어야 합니다.

이순신 90 95 99
홍길동 100 90 80
김유신 80 90 95

fscanf 함수로 데이터 읽기

 

 

이 블로그에서 [ fscanf ]로 검색하면 더 많을 글을 볼 수 있습니다.

반응형