程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C >> C語言基礎知識 >> 基於C語言fflush()函數的使用詳解

基於C語言fflush()函數的使用詳解

編輯:C語言基礎知識
fflush用於清空緩沖流,雖然一般感覺不到,但是默認printf是緩沖輸出的。 fflush(stdout),使stdout清空,就會立刻輸出所有在緩沖區的內容。 fflush(stdout)這個例子可能不太明顯,但對stdin很明顯。 如下語句: int a,c; scanf("%d",&a); c=getchar(); 輸入: 12(回車) 那麼 a=12 ,c= '\n' 而: int a,c; scanf("%d",&a); fflush(stdin); c=getchar(); 輸入: 12(回車) 那麼a=12, c暫時未得到輸入值,還需要再輸入c,因為getchar也是緩沖輸入,'\n'本還在緩沖區,但是被清空了。 另外fflush不能作用於重定向輸入流。fflush(stdin)刷新標准輸入緩沖區,把輸入緩沖區裡的東西丟棄
fflush(stdout)刷新標准輸出緩沖區,把輸出緩沖區裡的東西打印到標准輸出設備上

fflush(stdout);//這句起什麼作用???——fflush()的作用是:如果圓括號裡是已寫打開的文件的指針,則將輸出緩沖區的內容寫入該指針指向的文件,否則清除輸出緩沖區。這裡的stdout是系統定義的標准輸出文件指針,默認情況下指屏幕,那就是把緩沖區的內容寫到屏幕上。可是從代碼中看不出緩沖區會有什麼內容,所以它實際上沒有起什麼作用
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved