[C언어] feof, 문자 문자열 단위 파일 복사 프로그램

2023. 4. 14. 09:57코딩테스트 Intro/C

728x90

[feof 함수 기반의 파일복사 프로그램]

파일의 끝을 확인하기 위해 이 함수가 필요

#include <stdio.h>
int feof(FILE*stream);

파일의 끝에 도달한 경우 0이 아닌 값 반환

파일 입력 함수는 오류가 발생하는 경우에도 EOF를 반환

 

[문자 단위 파일복사 프로그램]

int main(void) // 문자 단위 파일복사 프로그램
{
	FILE*src=fopen("stc.txt", "rt");
    FILE*des=fopen("dst.txt", "wt");
    int ch;
    if(src==NULL || des==NULL) {
    	puts("파일오픈 실패!");
        return -1;
    }
    while(!ch=fgetc(src))!=EOF)
    	fputc(ch, des);
    if(feof(src)!=0)
    	puts("파일복사 완료!");
    else
    	puts("파일복사 실패!");
    fclose(src);
    fclose(des);
    return 0;
}

 

[문자열 단위 파일복사 프로그램]

int main(void)
{
	FILE * src=fopen("src.txt", "rt");
    FILE * des=fopen("des.txt", "wt");
    char str[20];
    
    if(src==NULL || des==NULL) {
    	puts("파일오픈 실패!");
        return -1;
    }
    while(fgets(str, sizeof(str), src)!=NULL)
    	fputs(str, des);
        
   	if(feof(src)!=0)
    	puts("파일복사 완료!");
    else
    	puts("파일복사 실패!");
        
    fclose(src);
    fclose(des);
    return 0;
 }

src에 저장된 문자열이 des로 복사되는 것이다.

 

728x90