基于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)文章
詳解如何在C/C++中測量一個函數(shù)或功能的運行時間
本文算是一個比較完整的關(guān)于在 C/C++ 中測量一個函數(shù)或者功能的總結(jié),最后會演示三種方法的對比,文章通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下2023-12-12
C++異步數(shù)據(jù)交換實現(xiàn)方法介紹
這篇文章主要介紹了C++異步數(shù)據(jù)交換實現(xiàn)方法,異步數(shù)據(jù)交換,除了阻塞函數(shù) send() 和 recv() 之外,Boost.MPI 還支持與成員函數(shù) isend() 和 irecv() 的異步數(shù)據(jù)交換2022-11-11
C++中new/delete與malloc/free的區(qū)別小結(jié)
本文主要介紹了C++中new/delete與malloc/free的區(qū)別小結(jié), malloc、free是C中的庫函數(shù) new、delete 是C++當中的操作符,讀者可以更好地理解C++中內(nèi)存管理的方式和優(yōu)勢2023-08-08
深入解析C++的WNDCLASS結(jié)構(gòu)體及其在Windows中的應(yīng)用
這篇文章主要介紹了C++的WNDCLASS結(jié)構(gòu)體及其在Windows中的應(yīng)用,WNDCLASS被用來定義窗口,文中介紹了其諸多屬性,需要的朋友可以參考下2016-01-01
C++集體數(shù)據(jù)交換實現(xiàn)示例講解
這篇文章主要介紹了C++集體數(shù)據(jù)交換實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧2022-11-11

