[問題] 關於fprintf的問題

看板C_and_CPP作者 (風欲)時間15年前 (2010/08/01 23:05), 編輯推噓2(2015)
留言17則, 5人參與, 最新討論串1/1
( *[1m *[m 為色碼,可以按 Ctrl+V 預覽會顯示的顏色 ) ( 未必需要依照此格式,文章條理清楚即可 ) 遇到的問題: (題意請描述清楚) 最近由於程式上需要,所要用到fprintf但fprintf好像是等整個程式跑完才輸出 希望得到的正確結果: 我希望他可以邊執行邊輸出 程式跑出來的錯誤結果: 整個程式跑完才輸出 開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux) Linux (ubuntu) gcc4.3 有問題的code: (請善用置底文標色功能) Code很大不便po出來 補充說明: -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.145.37

08/01 23:08, , 1F
setvbuf讓他沒buf
08/01 23:08, 1F

08/01 23:17, , 2F
請查詢fflush這個函式的使用
08/01 23:17, 2F

08/02 00:41, , 3F
或者可以直接送到stderr
08/02 00:41, 3F

08/02 00:57, , 4F
不太懂樓上的意思@@?
08/02 00:57, 4F

08/02 00:59, , 5F
fprintf(stderr, ...); 三樓的意思是這樣
08/02 00:59, 5F

08/02 01:02, , 6F
我知道stderr 只是不太懂這跟問題的關係?redirect stderr?
08/02 01:02, 6F

08/02 01:03, , 7F
你的問題是因為"輸出"會有緩衝 但stderr不會有緩衝動作
08/02 01:03, 7F

08/02 01:05, , 8F
我知道stderr不會有bufferXD 所以是要原PO redirect
08/02 01:05, 8F

08/02 01:06, , 9F
stderr到他原本想輸出的地方 再fprintf(stderr,...);嗎?
08/02 01:06, 9F

08/02 01:15, , 10F
我的意思就是樓上們說的 XD 感謝補充
08/02 01:15, 10F

08/02 01:15, , 11F
你想的太複雜了,要印的時候用fprintf(stderr,...)這樣就
08/02 01:15, 11F

08/02 01:16, , 12F
不會有緩衝區,你就可以即時看到結果,跟redirect無關
08/02 01:16, 12F

08/02 01:17, , 13F
喔我看懂你的意思了Orz 如果是要輸出到其他地方的確是要
08/02 01:17, 13F

08/02 01:18, , 14F
redirect stderr,通常要即時看到的資訊都是在螢幕上吧XD
08/02 01:18, 14F

08/02 02:22, , 15F
其實我覺得 fflush 還是最簡單的解...XDD
08/02 02:22, 15F

08/02 07:42, , 16F
印象中,stdout遇到\n會自動的flush的呀…!?
08/02 07:42, 16F

08/02 07:45, , 17F
不然就是設定buffer的型式吧,如一樓所說的~~
08/02 07:45, 17F
文章代碼(AID): #1CLOrK7x (C_and_CPP)