• ベストアンサー

printfですぐに出力

バッファ関係の質問です。 printfの直後にprintfの内容を表示する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
noname#9119
noname#9119
回答No.2

出力先が標準出力の場合 fflush(stdout); でたまってるバッファをフラッシュする。

Slihpon
質問者

お礼

ありがとうございました。

その他の回答 (2)

  • chie65536
  • ベストアンサー率41% (2512/6032)
回答No.3

出力後に fflush(stdout); を行うか、毎回fflushするのが面倒であれば、プログラムの開始直後に fflush(stdout); setbuf(stdout,NULL); を行う。

Slihpon
質問者

お礼

ありがとうございます。 fflush(stdout);の1行で解決しました。

noname#25358
noname#25358
回答No.1

 質問の意味がよく分かりません。  printf は、デフォルトでは画面へ文字を出力する関数のはずですが、どうしてそれが見えないのでしょうか?  開発環境、もしくは printf の出力が見えない理由を補足してください。  パイプの出力先を変更していて printf の出力内容が直接見えない状態にあるのであれば、fprintf 関数を使って STDOUT に出力すればいいのですけど……。  fprintf(STDOUT, "%d%d%s", ... );  また、Windows の Visual C かなにかで非コンソールアプリケーションを開発していてるのであれば、Win32API の AllocConsole() 関数を使用してコンソールを開けば、printf の出力内容が見えるようになります。

関連するQ&A