首页 > 编程笔记

C语言fflush():清空缓冲区

fflush() 是 C语言的一个标准库函数,定义在<stdio.h>头文件中。

fflush() 函数的功能是清空缓冲区,避免数据丢失,函数的原型如下:
int fflush(FILE *stream);

参数

stream 是一个指针,可以是特定文件的指针,或者为 NULL,后者会导致刷新所有打开的输出流。

返回值

如果缓冲区成功刷新,则该函数返回零。如果发生错误,则返回 EOF。

具体来讲,fflush() 函数的功能和参数 stream 的值有关:
【实例】下面是一个 C 语言示例代码,演示了如何使用 fflush() 函数。
#include <stdio.h>

int main() {
    FILE *file;

    // 打开文件
    file = fopen("example.txt", "w");
    if (file == NULL) {
        printf("文件打开失败!\n");
        return 1;
    }

    // 写入文件
    fprintf(file, "Hello, World!");

    // 刷新文件缓冲区
    if (fflush(file) == 0) {
        printf("文件缓冲区成功刷新。\n");
    } else {
        printf("文件缓冲区刷新失败!\n");
        return 2;
    }

    // 关闭文件
    fclose(file);

    return 0;
}
在这个示例中,使用 fopen() 打开一个文件进行写入,然后使用 fprintf() 将字符串写入文件。在关闭文件之前,使用 fflush() 刷新文件的缓冲区,确保所有内容都已写入文件。最后,使用 fclose() 关闭文件。

推荐阅读