中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

fflush與其他I/O函數的協同使用

小樊
83
2024-08-28 21:22:29
欄目: 編程語言

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() 等函數從文件中讀取數據。這樣,我們可以確保在讀取數據之前已經將所有數據寫入文件。

0
孝义市| 阳泉市| 冕宁县| 阆中市| 恩施市| 江山市| 广汉市| 龙里县| 江西省| 苏州市| 浦县| 广东省| 静海县| 南丰县| 彭山县| 萨迦县| 绍兴市| 睢宁县| 乌审旗| 崇礼县| 鸡泽县| 康马县| 石渠县| 比如县| 集贤县| 区。| 海宁市| 高青县| 明星| 武宁县| 甘德县| 朝阳市| 嘉黎县| 察雅县| 集安市| 巴塘县| 阜新| 蒙山县| 堆龙德庆县| 铁岭市| 连江县|