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 ,然後同時按下 Ctrl 與 D
There is no spoon. |
▊ |
出現下一個提示符號後,表示程式執行結束
$ |
此時在 UNIX-Like 系統利用指令 cat 可查看檔案內容,如下
$ cat oldname.txt |
There is no spoon. |
$ |