fflush 是一个C语言标准库函数,用于刷新(清空)流缓冲区。在标准I/O中,当从输入流读取数据或向输出
流写入数据时,数据通常会先被存储在缓冲区中,而不是立即发送到目标设备或文件。

fflush 函数可以强制将缓冲区中的内容立即写入目标设备或文件,并清空缓冲区,以确保数据及时传输或持久化。

#include int fflush(FILE *stream);

fflush 函数接受一个指向 FILE 结构体的指针作为参数,该指针表示要刷新的流。如果参数为 NULL,则刷新所有打开的流。

使用示例:

#include int main() {FILE *file = fopen("example.txt", "w");if (file != NULL) {fputs("Hello, World!", file);fflush(file); // 刷新缓冲区,将数据写入文件fclose(file);}return 0;}

上述示例中,我们打开一个文件 "example.txt",向其写入字符串 "Hello, World!",然后使用 fflush
数刷新缓冲区,将数据写入文件,最后关闭文件。

请注意,虽然在许多情况下,操作系统或标准库会自动处理流缓冲区,但在某些特殊场景下,例如
需要确保数据实时写入磁盘或与其他进程交互时,手动使用 fflush 函数可能是必要的。