[C] 파일 입출력 2 (fputc)

C언어에서 파일을 복사해보자.

파일을 복사하는 원리


파일을 복사하는 원리는 원본 파일에서 한 글자를 가져온 후, 새로운 파일에다가 쓰는 과정을 파일 끝까지 반복하는 것이다.

#include <stdio.h>
#include <stdlib.h>

int main () {
    FILE *fp, *fp2;
    char ch;

    fp = fopen("pigs.txt", "r");
    fp2 = fopen("copy.txt", "w");

    if (fp == NULL || fp2 == NULL) {
        printf("실패\n");
        exit(0);
    }

    // 복사하는 코드

    while ((ch = fgetc(fp)) != EOF) {

        fputc(ch, fp2); // 한 글자씩 기록
    }
    printf("복사가 완료되었습니다.");

    // 복사 완료

    fclose(fp);
    fclose(fp2);
    return 0;
}

따라서, 파일을 총 2개를 다루는 것이며, 원본 파일은 읽기, 생성할 복사본은 쓰기 모드로 생성한다.

그래서 기초적인 코드는 위와 같다.

fputc 함수

fputc("문자 변수", "파일의 포인터 변수");

// 적용
fputc(ch, fp2);

fgetc 함수가 특정 파일의 포인터 변수에서 글자를 한 글자씩 가져오는 것이라면,

fputc함수는 어떤 문자를 어떤 파일에 저장할지 결정하는 함수이다. 따라서 입력 형태는 위와 같다.


© 2022.07. by Wookey_Kim

Powered by Hydejack v7.5.2