전 포스팅에서 파일 열고 닫기에 대해 알아보았다.

이번 포스팅에서는 텍스트 파일의 데이터 입력과 출력에 대해 알아보겠다

데이터 입출력 방법은 문자,문자열,서식화된 입출력,이진데이터로 나눌 수 있다.

문자 단위 입출력

문자 단위 입출력은 fputc(), fgetc()를 쓸 수 있다.

fputc(‘a’,fp);

a를 fp에 입력한다

fgetc(‘a’,fp);

a를 fp에서 입력받는다

문자열 단위 입출력

문자열 다위 입출력은 fputs(), fgets()를 쓸 수 있다.

fputs(“hello”,fp);

hello를 fp에 입력한다

fgets(str,sizeof(str),fp);

fp에 저장된 한줄을 입력받는다.

형식화된 입출력

문자열 다위 입출력은 fprintf(), fscanf()를 쓸 수 있다.

fprintf(fp,”%d”,number);

fp에 %d 형 number를 입력한다

fscanf(fp,”%d”,num);

fp에 입력된 %d형을 num에 입력받는다.

#include<stdio.h>
int main() {
	FILE *fp = NULL;

	fp = fopen("test.txt", "w"); //쓰기 모드로 연다
	int a[5];
	for (int i = 0; i < 5; i++)
	{
		scanf("%d", &a[i]); //a[i]에 입력받는다
		fprintf(fp, "%d\n", a[i]); //a[i]\n을 파일에 쓴다
	}
	fclose(fp);

	fp = fopen("test.txt", "r");
	int b[5];
	for (int i = 0; i < 5; i++)
	{
		fscanf(fp,"%d", &b[i]); //b[i]를 입력받는다
		printf("%d\n",b[i]); //b[i]를 출력한다
	}
	fclose(fp);
}

중요한 점은 입력을 1 2 3 4 5를 하면 파일에

1

2

3

4

5

로 저장이 된다 이 파일을

fscanf(fp,”%d”, &b[i]);로 불러오면 줄바꿈이 있기때문에

fscanf(fp,”%d\n”, &b[i]); 이 아님에 주의해야 한다

이것으로 텍스트파일의 입출력 포스팅을 마치겠다

카테고리:

업데이트: