阅读量:0
fflush()
是 C 语言中的一个 I/O 函数,用于将缓冲区的内容写入文件或设备
以下是 fflush()
与其他 I/O 函数的协同使用示例:
- 与
fprintf()
和fscanf()
结合使用:
#include<stdio.h> int main() { FILE *file = fopen("test.txt", "w+"); if (file == NULL) { printf("Error opening file\n"); return 1; } // 写入数据到缓冲区 fprintf(file, "Hello, World!\n"); // 清空缓冲区并将数据写入文件 fflush(file); // 将文件指针移动到文件开头 rewind(file); char buffer[256]; // 从文件读取数据 fscanf(file, "%s", buffer); printf("Read from file: %s\n", buffer); fclose(file); return 0; }
- 与
fwrite()
和fread()
结合使用:
#include<stdio.h> int main() { FILE *file = fopen("test.bin", "wb+"); if (file == NULL) { printf("Error opening file\n"); return 1; } int data[] = {1, 2, 3, 4, 5}; int size = sizeof(data) / sizeof(data[0]); // 写入数据到缓冲区 fwrite(data, sizeof(int), size, file); // 清空缓冲区并将数据写入文件 fflush(file); // 将文件指针移动到文件开头 rewind(file); int buffer[size]; // 从文件读取数据 fread(buffer, sizeof(int), size, file); for (int i = 0; i< size; i++) { printf("Read from file: %d\n", buffer[i]); } fclose(file); return 0; }
在这些示例中,我们首先使用 fprintf()
、fwrite()
等函数将数据写入缓冲区。然后,我们使用 fflush()
函数将缓冲区的数据写入文件或设备。接下来,我们可以使用 fscanf()
、fread()
等函数从文件中读取数据。这样,我们可以确保在读取数据之前已经将所有数据写入文件。