作者 主題: Linux C, sleep() 與 printf("字元") 的問題  (閱讀 5472 次)

0 會員 與 1 訪客 正在閱讀本文。

id4fox

  • 憂鬱的高中生
  • ***
  • 文章數: 103
  • 40 oz 挑戰成功!
    • 檢視個人資料
我寫了個程式迴圈部分如下

for( x=10 ; x>=0 ; x-- )
{
   printf("\r Less %s sec",x);
   sleep(1);
}

為什麼每次都是等了10秒後才印出
Less 0 sec

\n 不會有相同的狀況, 但是會一直換行洗版
\b 的狀況跟 \r 一樣, Please tell me why??? thx

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5396
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
回覆: Linux C, sleep() 與 printf("字元") 的問題
« 回覆 #1 於: 2009-09-08 11:18 »
用 fflush() 強迫把 buffer 裡頭的資料直接輸出.

id4fox

  • 憂鬱的高中生
  • ***
  • 文章數: 103
  • 40 oz 挑戰成功!
    • 檢視個人資料
回覆: Linux C, sleep() 與 printf("字元") 的問題
« 回覆 #2 於: 2009-09-08 11:28 »
用 fflush() 強迫把 buffer 裡頭的資料直接輸出.

THX 感激! 程式如願的動了,
在printf() 後加入 fflush(stdout);

請問一下大大為什麼會有這種狀況?