24

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

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

黒いウィンドウが表示され、消えます。速すぎて見えない。IDE には出力セクションがありますが、ビルドなどから表示出力を選択することしかできませんが、stdout を選択することはできません。

不正行為の解決策はおそらく呼び出します

system("pause");

しかし、それは正しく聞こえません。オプションで検索しましたが、項目が見つかりません。

誰でも何か考えがありますか?ありがとう。私はVSを使い始めたばかりで、以前はLinuxを使用していました。

4

3 に答える 3

11

出力を確認したい場合は、「デバッグ開始」コマンドではなく、「デバッグなしで開始」コマンドを使用してください。それが私がそれを処理する一般的な方法です。コマンド プロンプト ウィンドウは、閉じるまで表示されたままになります。クラッシュなどが発生した場合は、いつでも Visual Studio をプロセスに再アタッチするか、[デバッグの開始] で実行することができます。

于 2012-04-19T23:48:00.143 に答える
9

[プロジェクト プロパティ] -> [リンカー] -> [システム] -> [サブシステムをコンソールに変更] に移動します。

于 2012-04-19T23:44:21.033 に答える
2

実際に stdin/err ストリームをリダイレクトしようとせずに、試すことができるいくつかの代替手段があります。

  • コマンド プロンプト ウィンドウを開き、cd で実行可能ファイルが作成されるディレクトリに移動し、そこから実行します。
  • おそらく std::cin.get(); のようなものを使ってみてください。または std::cin.ignore(std::cin.rdbuf()->in_avail() + 1); システム(「一時停止」)の代わりに。
  • OutputDebugStringを介して Visual Studio デバッガーに出力を表示する
于 2012-04-19T23:38:19.973 に答える