C 언어의 fflush() 함수

  • 2 minutes to read

fflush()는 C 언어의 표준 라이브러리 함수 중 하나로, 출력 버퍼를 파일에 비우는(즉, 버퍼에 남아 있는 데이터를 파일에 쓰는) 데 사용됩니다. 이 함수는 stdio.h 헤더 파일에 선언되어 있습니다.

함수의 원형은 다음과 같습니다:

int fflush(FILE *stream);

fflush() 함수는 하나의 매개변수를 받습니다. 이 매개변수는 버퍼를 비우고자 하는 파일의 포인터를 나타냅니다. 함수는 버퍼가 성공적으로 비워졌다면 0을, 그렇지 않다면 EOF를 반환합니다.

아래는 fflush() 함수를 이용하여 버퍼를 비우는 간단한 C 프로그램 예제입니다:

#include <stdio.h>

int main() {
    FILE *file = fopen("test.txt", "w");
    if (file == NULL) {
        printf("파일을 열 수 없습니다.\n");
        return 1;
    }

    fprintf(file, "Hello, World!");

    if (fflush(file) == 0) {
        printf("버퍼가 성공적으로 비워졌습니다.\n");
    } else {
        printf("버퍼를 비우는데 실패했습니다.\n");
    }

    fclose(file);
    return 0;
}

위 코드는 "test.txt"라는 이름의 파일을 쓰기 모드("w")로 열고, fprintf() 함수를 사용해 문자열 "Hello, World!"를 파일에 씁니다. 데이터 쓰기가 끝나면 fflush() 함수를 사용해 출력 버퍼를 파일에 비웁니다. 버퍼가 성공적으로 비워졌다면 적절한 메시지를 출력합니다. 작업이 모두 끝나면 fclose() 함수를 사용해 파일을 닫습니다.

VisualAcademy Docs의 모든 콘텐츠, 이미지, 동영상의 저작권은 박용준에게 있습니다. 저작권법에 의해 보호를 받는 저작물이므로 무단 전재와 복제를 금합니다. 사이트의 콘텐츠를 복제하여 블로그, 웹사이트 등에 게시할 수 없습니다. 단, 링크와 SNS 공유, Youtube 동영상 공유는 허용합니다. www.VisualAcademy.com
박용준 강사의 모든 동영상 강의는 데브렉에서 독점으로 제공됩니다. www.devlec.com