114 파일 끝에 도달 했는지 검사와 파일 닫기(feof, fclose)
개념 :
1. 파일 닫기 함수 원형과 설명 : int fclose(FILE *stream)
-파일 fopen함수를 사용하여 메모리 할당 했다면 fclose 로 할당된 메모리를 해제 해준다.
-현재 실행중인 프로그램이 개방한 여러개의 파일을 한 번에 모두 닫으려면 fcloseall() 함수를 사용 할 수 있다.
2. 파일 끝을 체크하는 함수 원형 : int feof(FILE *stream)
-파일끝에 도달하지 않으면 0을 반환.
-파일끝에 도달하면 0이 아닌 값을 반환.
소스코드 : main.c
#include<stdio.h>
int main(void)
{
FILE *fp;
int ch;
//파일 만들어 쓰기 모드로 열어라
fopen_s(&fp,"C:\\Users\\junmo\\Desktop\\300\\114\\file.txt", "w+");
if (fp) // 파일 만들어 쓰기로 열렸다면
{
fprintf_s(fp, "%s", "This is Test File"); // 텍스트 입력
if (fp) //파일이 있다면
{
fclose(fp); // 파일을 닫어라.
}
fopen_s(&fp, "C:\\Users\\junmo\\Desktop\\300\\114\\file.txt", "r"); //파일 읽기 모드로 열어라
if (fp)//파일 읽기 모드로 열기 성공했다면
{
while (!feof(fp)) // 파일의 끝에 도달하지 않았다면
{
ch = fgetc(fp);// 문자 하나를 가저와 ch에 값을 복사 한뒤
printf_s("read character : %c \n", ch); // 화면에 출력한다.
}
if (fp) //파일이 열려 있다면
{
fclose(fp);//파일을 닫어라.
}
}
}
system("pause"); // 시스템 대기
return 0;
}
결과 :