以下是一个使用fflush
函数刷新文件缓冲区的示例代码:
#include <stdio.h>
int main() {
FILE *fp;
// 打开文件,以写入模式创建或截断文件
fp = fopen("example.txt", "w");
if (fp == NULL) {
perror("Error opening file");
return 1;
}
// 向文件写入数据
fprintf(fp, "This is some data that will be written to the file.\n");
// 使用fflush函数刷新文件缓冲区,确保数据立即写入文件
fflush(fp);
// 关闭文件
fclose(fp);
return 0;
}
在上述代码中:
- 首先使用
fopen
函数以写入模式("w"
)打开一个名为"example.txt"
的文件。如果打开文件失败,会通过perror
函数输出错误信息并返回错误码1
。 - 接着使用
fprintf
函数向文件中写入了一段文本数据。 - 然后调用
fflush
函数,强制将文件缓冲区中的数据立即写入到"example.txt"
文件中。这样做可以确保在后续可能出现的程序异常终止等情况下,数据也能及时保存到文件里。 - 最后使用
fclose
函数关闭文件,在关闭文件时也会自动刷新缓冲区,但在这里提前使用fflush
函数能在需要时更早地确保数据写入文件。