【C 語言】文件操作 ( fflush 函數 | 刷新緩沖區示例代碼 )

      網友投稿 2258 2025-03-31

      文章目錄

      一、fflush 函數

      二、內存緩沖區示例

      三、使用 fflush 函數刷新內存緩沖區示例

      一、fflush 函數

      緩沖區內容寫入磁盤的時機 :

      緩沖區滿了

      調用 fclose 關閉文件函數

      如果想要立刻寫入磁盤 , 可以使用 fflush 函數刷新緩沖區 , 將緩沖區中的數據 , 寫入磁盤中 ;

      fflush 函數原型 : 將緩沖區中未寫入磁盤中的數據寫入磁盤中的文件中 ;

      #include int fflush(FILE *stream)

      1

      2

      fflush 函數可以實時將緩沖區中的數據寫入磁盤中 , 強烈不推薦頻繁大量調用該函數 ,

      讀寫磁盤速度很慢 , 浪費性能 , 浪費時間

      影響磁盤壽命

      二、內存緩沖區示例

      示例代碼 :

      #include int main() { // 以寫文本的方式向文件中寫出數據 FILE *p = fopen("D:/File/fflush.txt", "w"); while(1) { // 存儲要寫出的數據 char array[100] = {0}; // 阻塞等待命令行輸入 , 將命令行中的輸入保存到 array 數組中 scanf("%s", array); // 如果輸入 exit , 則退出循環 if(strcmp(array, "exit") == 0) break; // 將輸入的字符串寫出到文件中 fprintf(p, "%s\n", array); } // 關閉文件 fclose(p); return 0; }

      1

      【C 語言】文件操作 ( fflush 函數 | 刷新緩沖區示例代碼 )

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      執行結果 :

      輸入 " exit " , 退出循環 , 調用 fclose 函數關閉文件 , 此時才將內存緩沖區中的數據 , 寫出到文件中 ;

      三、使用 fflush 函數刷新內存緩沖區示例

      代碼示例 : 與上面的示例不同之處 , 就是在每次刷新完成之后 , 調用 fflush 方法刷新緩存 ;

      #include int main() { // 以寫文本的方式向文件中寫出數據 FILE *p = fopen("D:/File/fflush.txt", "w"); while(1) { // 存儲要寫出的數據 char array[100] = {0}; // 阻塞等待命令行輸入 , 將命令行中的輸入保存到 array 數組中 scanf("%s", array); // 如果輸入 exit , 則退出循環 if(strcmp(array, "exit") == 0) break; // 將輸入的字符串寫出到文件中 fprintf(p, "%s\n", array); // 刷新緩沖區 fflush(p); } // 關閉文件 fclose(p); return 0; }

      1

      2

      3

      4

      5

      6

      7

      8

      9

      10

      11

      12

      13

      14

      15

      16

      17

      18

      19

      20

      21

      22

      23

      24

      25

      26

      27

      28

      29

      30

      31

      32

      執行結果 : 輸入一行文本 , 內容馬上刷新出來 ;

      C 語言

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:怎么收集在線表單(在線收集表如何設置必填)
      下一篇:如何去除word文檔的水印
      相關文章
      久久久久亚洲精品无码网址| 亚洲av成人一区二区三区观看在线 | 亚洲综合色在线观看亚洲| 亚洲欧美黑人猛交群| 亚洲国产成人综合| 亚洲人成综合在线播放| 亚洲国产午夜电影在线入口| 亚洲一区二区三区在线| 亚洲av专区无码观看精品天堂| 亚洲人成7777影视在线观看| 亚洲乱码在线播放| 亚洲另类视频在线观看| 亚洲中文无码线在线观看| 亚洲ts人妖网站| 亚洲色少妇熟女11p| 亚洲精品伦理熟女国产一区二区| 亚洲欧美第一成人网站7777| 国产精品亚洲av色欲三区| 亚洲av片一区二区三区| 国产日产亚洲系列最新| 国产亚洲人成网站观看| 亚洲日本在线观看| 亚洲午夜久久久精品电影院| 亚洲深深色噜噜狠狠网站| 亚洲人成网站色7799| 夜色阁亚洲一区二区三区| 国产国拍亚洲精品福利 | 亚洲国产精品VA在线看黑人| 亚洲国产人成在线观看69网站| 久久精品亚洲一区二区三区浴池| 亚洲欧洲综合在线| 中文字幕乱码亚洲无线三区| 色窝窝亚洲AV网在线观看| 亚洲婷婷国产精品电影人久久| 亚洲啪啪综合AV一区| 亚洲国产精品久久久久网站| 亚洲国产精品网站久久| 亚洲国产av玩弄放荡人妇| 亚洲人成网站色在线入口| 亚洲av综合av一区| 亚洲免费闲人蜜桃|