基于C語言fflush()函數(shù)的使用詳解
更新時間:2013年05月27日 16:27:30 作者:
本篇文章是對C語言中fflush()函數(shù)的使用進行了詳細的分析介紹,需要的朋友參考下
fflush用于清空緩沖流,雖然一般感覺不到,但是默認printf是緩沖輸出的。 fflush(stdout),使stdout清空,就會立刻輸出所有在緩沖區(qū)的內(nèi)容。 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'本還在緩沖區(qū),但是被清空了。 另外fflush不能作用于重定向輸入流。fflush(stdin)刷新標準輸入緩沖區(qū),把輸入緩沖區(qū)里的東西丟棄
fflush(stdout)刷新標準輸出緩沖區(qū),把輸出緩沖區(qū)里的東西打印到標準輸出設(shè)備上
fflush(stdout);//這句起什么作用???——fflush()的作用是:如果圓括號里是已寫打開的文件的指針,則將輸出緩沖區(qū)的內(nèi)容寫入該指針指向的文件,否則清除輸出緩沖區(qū)。這里的stdout是系統(tǒng)定義的標準輸出文件指針,默認情況下指屏幕,那就是把緩沖區(qū)的內(nèi)容寫到屏幕上??墒菑拇a中看不出緩沖區(qū)會有什么內(nèi)容,所以它實際上沒有起什么作用
fflush(stdout)刷新標準輸出緩沖區(qū),把輸出緩沖區(qū)里的東西打印到標準輸出設(shè)備上
fflush(stdout);//這句起什么作用???——fflush()的作用是:如果圓括號里是已寫打開的文件的指針,則將輸出緩沖區(qū)的內(nèi)容寫入該指針指向的文件,否則清除輸出緩沖區(qū)。這里的stdout是系統(tǒng)定義的標準輸出文件指針,默認情況下指屏幕,那就是把緩沖區(qū)的內(nèi)容寫到屏幕上??墒菑拇a中看不出緩沖區(qū)會有什么內(nèi)容,所以它實際上沒有起什么作用
相關(guān)文章
include包含頭文件的語句中,雙引號和尖括號的區(qū)別(詳解)
下面小編就為大家?guī)硪黄猧nclude包含頭文件的語句中,雙引號和尖括號的區(qū)別(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07