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

   2024-09-30 3960
核心提示:fflush() 是 C 语言中的一个 I/O 函数,用于将缓冲区的内容写入文件或设备以下是 fflush() 与其他 I/O 函数的协同使用示例:与 f

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

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号