fflush与其他I/O函数的协同使用

avatar
作者
筋斗云
阅读量:0

fflush() 是 C 语言中的一个 I/O 函数,用于将缓冲区的内容写入文件或设备

以下是 fflush() 与其他 I/O 函数的协同使用示例:

  1. 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; } 
  1. 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() 等函数从文件中读取数据。这样,我们可以确保在读取数据之前已经将所有数据写入文件。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!