c 中怎麼清除輸出緩衝區

時間 2021-08-30 09:08:32

1樓:育知同創教育

c++中使用cin.sync來清除快取區的資料流的。如果標示符沒有改變那麼即使清除了資料流也無法輸入。

所以cin.clear()和cin.sync()要聯合起來使用。

對於cin.clear()和cin.sync()參考以下程式:

#include

using namespace std;

intmain()

2樓:

std::cout.rdbuf()->pubsetbuf(p, n);表示用p[0] ..

p[n-1]來儲存緩衝的字元,pubsetbuf(0,0)表示不緩衝。也有可能系統本身就不許沒有緩衝。

std::cout.flush();把字元緩衝區清空,送到它該去的地方。

如果std::cout.sync_with_stdio(true);與c的標準輸出輸入共享一個緩衝區,則fflush(stdout)也可以清空c或c++的標準輸出輸入緩衝區。

如果想最保險的就呼叫std::cout.setf(std::ios_base::unitbuf);這樣每次輸出都直接送到字元該去的地方。

3樓:狂___暴擊

fflush(stdin);

給你個**,很詳細:

C 中輸出問題

樓主,你的排序是對的,輸入時用空格隔開就可以,中間多輸出的部分你看看我程式中給你注釋的部分,希望你能真正掌握選擇排序法。謝謝 include stdio.h int main printf d,d n a i a k 你這裡列印的是每i排序之後的a i 和每趟最小值的下標。以 2,3,1,5,6為例...

c語言程式設計中怎麼輸入輸出姓名漢字

杜哥是個小天才 如果您是用tc進行程式設計,那麼只能顯示英文,如果您是用vc進行程式設計就可以顯示中文了。兩者只是編譯工具不一樣,程式語言的使用是一樣的。如下 include include int main char name 6 20 char temp 20 printf 請輸入6個人的名字 ...

c程式題用輸出正方形怎麼做,c 程式題用 輸出一個正方形怎麼做?

static void main string args 換行 console.writeline for int i 0 i length 2 i 輸出最後一個 console.write 換行 console.writeline 輸出最後一行的 for int i 0 i length i co...