首页 > 编程笔记
C语言fflush():清空缓冲区
fflush() 是 C语言的一个标准库函数,定义在
fflush() 函数的功能是清空缓冲区,避免数据丢失,函数的原型如下:
具体来讲,fflush() 函数的功能和参数 stream 的值有关:
【实例】下面是一个 C 语言示例代码,演示了如何使用 fflush() 函数。
<stdio.h>
头文件中。fflush() 函数的功能是清空缓冲区,避免数据丢失,函数的原型如下:
int fflush(FILE *stream);
参数
stream 是一个指针,可以是特定文件的指针,或者为 NULL,后者会导致刷新所有打开的输出流。返回值
如果缓冲区成功刷新,则该函数返回零。如果发生错误,则返回 EOF。具体来讲,fflush() 函数的功能和参数 stream 的值有关:
- 如果是对 stream 进行写入,那么 fflush() 函数的功能是清空输出缓冲区,确保缓冲区的内容全部写入 stream 指定的文件中;
- 如果是对 stream 进行读取,那么 fflush() 函数的功能通常是清除缓冲区中的内容。
- 如果 stream 的值为 NULL,那么 fflush() 函数的功能是刷新所有打开的输出流。
【实例】下面是一个 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() 关闭文件。