2012-04-19 19 views
14

Visual Studioでstdoutとstderrをキャッチする方法はありますか?たとえば、使用するときVisual Studioでstderrとstdoutをキャッチする方法はありますか?

cout <<"Hello world!"<< endl; 

黒いウィンドウが表示され、消えます。私はそれを見ることができないほど速いです。 IDEには出力セクションがありますが、ビルドからの出力と他の何かを選択することができますが、標準出力の選択はできません。

不正行為ソリューションは、多分

system("pause"); 

を呼ぶが、それは右の音はありません。私はオプションで検索しましたが、商品を見つけることができません。

誰でも知っていますか?ありがとう。私はVSを使うようになりました。

+0

ここで答えを見てください:http://stackoverflow.com/questions/1343320/when-debugging-on-windows-where-does-stderr-go –

答えて

4

"Start Debugging"コマンドを使用するのではなく、出力を確認する場合は、 "Start Without Debugging"を使用します。それは一般的にどのように私はそれを処理します。コマンドプロンプトウィンドウは、終了するまで続行されます。クラッシュなどがある場合は、いつでもVisual Studioをプロセスに再接続するか、「デバッグの開始」で実行することができます。

1

実際STDIN/ERRストリームをリダイレクトするようにしようとせず、あなたが試すことができ、いくつかの選択肢があります:

  • を開き、コマンドプロンプトウィンドウやCDのディレクトリに実行可能 がそこからそれを実行した後に作成されます。
  • おそらく、std :: cin.get();のようなものを試してみてください。またはstd :: cin.ignore(std :: cin.rdbuf() - > in_avail()+ 1);システム( "一時停止")の代わりに。
  • OutputDebugString
+0

いずれにしても、まあまあまあまあまあいいですね。これはあなたの責任ではないです。あなたはこの問題について不便を感じないのですか?ちょっと興味があるんだけど。 – YankeeWhiskey

+0

私の答えに示されているように、サブシステムをコンソールに変更してください。 – Iceman

+0

私は欠けていた1つがあることを知っていた、Icemansコメントは正しいです。 – thelazydeveloper

4

経由でのVisual Studioデバッガで表示出力ゴープロジェクトプロパティへ - >リンカ - >システム - コンソールへ>変更サブシステム。

+0

私はそれを変更しましたが、黒いウィンドウがポップアップし続けます。私はVSの出力をどこで見るのですか? – YankeeWhiskey

+3

出力がポップアップするコンソールに表示されます。デバッグ - >デバッグなしで開始すると消えません。 – Iceman

関連する問題