C 速查手冊

11.7.3 fflush()

stdio.h函數 (function) fflush() 強制將緩衝區的輸出串流寫到檔案中。

以下程式示範輸入字元 (character) 後,便用函數 fflush() 強制寫入檔案中

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    FILE *fPtr;
    char c;
    
    fPtr = fopen("oldname.txt", "w");
    if (!fPtr) {
        printf("檔案建立失敗...\n");
        exit(1);
    }
    
    while ((c = getchar()) != EOF) {
        fputc(c, fPtr);
        fflush(fPtr);
    }
    
    fclose(fPtr);
    
    return 0;
}

/* 《程式語言教學誌》的範例程式
    http://kaiching.org/
    檔名:cfflush.c
    功能:示範 stdio.h 中函數 fflush() 的使用
    作者:張凱慶 */

編譯後執行,結果如下

$ gcc cfflush.c
$ a.out

此時程式等待使用者輸入,這裡輸入 There is no spoon. ,先按一次 Enter ,然後同時按下 CtrlD

There is no spoon.

出現下一個提示符號後,表示程式執行結束

$

此時在 UNIX-Like 系統利用指令 cat 可查看檔案內容,如下

$ cat oldname.txt
There is no spoon.
$

上一頁 11.7.2 freopen()
回 C 速查手冊 - 標準程式庫分類索引
下一頁 11.7.4 fclose()
回 C 速查手冊 - 標準程式庫導覽
回 C 速查手冊首頁
回 C 教材首頁
回程式語言教材首頁