fflush ,fflush 函式的作用

2022-12-21 17:56:20 字數 2472 閱讀 9629

1樓:

fflush(stdout);//這句起什麼作用???——fflush()的作用是:如果圓括號裡是已寫開啟的檔案的指標,則將輸出緩衝區的內容寫入該指標指向的檔案,否則清除輸出緩衝區。

這裡的stdout是系統定義的標準輸出檔案指標,預設情況下指螢幕,那就是把緩衝區的內容寫到螢幕上。可是從**中看不出緩衝區會有什麼內容,所以它實際上沒有起什麼作用——本人之理解,供參考……

c語言中「fflush(stdin)」的作用是什麼?

2樓:

清除標準輸入裝置(一般是鍵盤)的快取。

scanf()函式接收輸入資料時,遇以下情況結束乙個資料的輸入:(不是結束該scanf函式,scanf函式僅在每乙個資料域均有資料,並按回車後結束)。

① 遇空格、「回車」、「跳格」鍵。

② 遇寬度結束。

③ 遇非法輸入。

鍵盤緩衝區就可能有殘餘資訊問題。

scanf()函式應該只是掃瞄stdin流,這個殘存資訊是在stdin中

解決就要在scanf()函式之後加個fflush(stdin)。

flush(stdin)重新整理標準輸入緩衝區,把輸入緩衝區裡的東西丟棄

fflush(stdout)重新整理標準輸出緩衝區,把輸出緩衝區裡的東西列印到標準輸出裝置上。

3樓:

清除標準輸入裝置(一般是鍵盤)的快取。往往適用於截獲輸入特殊值,例如每次讀取乙個輸入的字元,但是如果你輸完乙個字元後敲了回車,回車是乙個特殊的鍵,會產生2個字元,因此程式會認為你輸入了3個字元,此時可以用讀取乙個字元後用這個函式清除鍵盤快取,從而清除回車的影響。

fflush(stdin)怎麼正確的使用

4樓:匿名使用者

fflush(stdin)是用來清空輸入緩衝區,通常是為了確保不影響後面的資料讀取,例如在讀完乙個字串後緊接著又要讀取乙個字元,此時應該先執行fflush(stdin)。

但要注意的是,此函式僅適用於部分編譯器(如vc6),但是並非所有編譯器都要支援這個功能(如gcc3.2)。這是乙個對c標準的擴充。

你在linux下用的應該是gcc,因此可能不起作用。

fflush(stdout)有加沒加好像都一樣啊!!為什麼?fflush(stdout)到底在這有什麼作用?

5樓:匿名使用者

在使用多個輸出函式連續進行多次輸出時,有可能發現輸出錯誤。因為下乙個資料再上乙個資料還沒輸出完畢,還在輸出緩衝區中時,下乙個printf就把另乙個資料加入輸出緩衝區,結果沖掉了原來的資料,出現輸出錯誤。 在 prinf();後加上fflush(stdout); 強制馬上輸出,避免錯誤。

6樓:匿名使用者

fflush(stdout)重新整理標準輸出緩衝區,把輸出緩衝區裡的東西列印到標準輸出裝置上。這裡

加不加沒有影響。

關於c程式 關於fflush(stdin);

7樓:聽不清啊

這是因為在輸入字元時打了回車。而scanf()只讀取了前面的a或n字元,後面的回車符沒有被 讀取。所以,當下一次讀取字元時,就會讀到這個回車符。

如果使用fflush(stdin),就會把沒有被讀取的任何資訊全部清空。

以保證後面讀到的都是新輸入的資訊。

rewind(stdin)和fflush(stdin) 的有什麼區別(意義,用法等等)

8樓:金色潛鳥

語法上 ,

rewind(stdin) 是把檔案指標迴繞到檔案起始處。

fflush(stdin) 是把檔案輸入緩衝區清0。

stdin 是標準輸入裝置(輸入流),通常是鍵盤。(但也可以是通過轉向的文字檔案。)

------------

昨天有人問,數入123,第2句輸入語句不能工作int a1;

char s[20];

scanf("%d",&a1); //第一句輸入語句scanf("%[^'\n']",s); // 第2句輸入語句

--------------

答:添上fflush(stdin); 就可以了。

int a1;

char s[20];

scanf("%d",&a1); //第一句輸入語句// rewind(stdin);

fflush(stdin);

scanf("%[^'\n']",s); // 第2句輸入語句

添上 rewind(stdin) 效果相同。

---------

9樓:匿名使用者

fflush() 是立即從緩衝輸出。

rewind()回到檔案起始。

分段函式的反函式求法,分段函式反函式的定義域怎麼求(會求解析式)

1 確定分段函式的值域。2 解方程解出x。3 交換x,y,標明定義域。例如 求函式y x 2,x 0的反函式。解 因為x 0,所以x 2 0,y 0.解y x 2得x y.所以y x 2,x 0的反函式為y x,x 0.一般來說,設函式y f x x a 的值域是c,若找得到乙個函式g y 在每一處...

函式與反函式的的關係,直接函式與反函式的關係,到底什麼叫直接函式

首先你的鑽研精神值得大家學習。事實上,一對函式和反函式應該是y f x 及x f 1 y 那麼一般是成立f f 1 y y,f 1 f x x。但是因為人們習慣於用x表示自變數,用y表示因變數,所以 人為地 把反函式寫成y f 1 x 故而造成了一些 混亂 你例子中的y sinx,y 1 arcsi...

奇函式除以偶函式和偶函式除以奇函式的結果分別是什麼函式

奇函式除以偶函式的結果是 分母不為0的奇函式偶函式除以奇函式的結果是 分母不為0的奇函式例如 解 設g x 為偶函式,f x 為奇函式。所以 f x g x f x g x 奇函式 g x f x g x f x 奇函式 奇函式性質 1 兩個奇函式相加所得的和或相減所得的差為奇函式。2 乙個偶函式與...