printf 輸出快取問題

2021-07-12 01:11:59 字數 433 閱讀 1316

預設情況下,printf()的輸出是緩衝的,如果沒有換行符,不會立即輸出到標準輸出。

如果想立即看到輸出,可以

1. 在輸入字串末尾加上 "\n".

2. 輸出到stderr:

fprintf(stderr, "i will be printed immediately");
3. 使用 fflush:

printf("buffered, will be flushed");

fflush(stdout); // will now print everything in the stdout buffer

4. 用setbuf禁掉 buffer:

setbuf(stdout, null);

使用printf輸出

echo命令的不同版本導致了unix系列機移植性最為頭痛的事情,在posix第一輪標準化時,委員會委員就如何標準化echo沒有達成一致意見,所以他們想出了乙個妥協的方案。echo是posix 標準的一部分,但是標準並不詳盡的指明echo的第乙個引數的具體行為。printf命令能夠像echo命令一樣輸...

Printf格式輸出

printf 輸出各種型別 完整格式 0m.nl或者h格式字元 轉換說明的開始 佔位符 不能省略 左對齊,省略 右對齊 0 有0代表空位填0,省略代表空位不填 m.n m域寬 指對應的輸出項在輸出裝置占用多個字元的寬度 n精度 輸出浮點數的時候 小數點後面的位數 l 整數long浮點數double ...

printf函式輸出

在筆試的時候,問了這樣一道選擇題 int main 有這樣幾個選項 a.1,2,3 b.1,2 c 1 d.編譯錯誤 答案是 b 當時雖然回答正確,但是總覺得對printf的輸出很是模糊,仔細查閱了相關資料發現還是需要注意的!先宣告下,以下編譯都是在vc 6.0中執行的結果 先來看下面一段 int ...