3

私はプログラミングに非常に慣れていないので、親切にしてください。

私はしばらくの間、C/C++ 開発者向けに Eclipse を使用していましたが、非常にバグがあるように思われたので、Visual Studio Express に切り替えるように勧められました。単純な「Hello World」プログラムでテストしています

#include <iostream>
#include <string>
using namespace std;

int main( int argc, char ** argv )
{
    string response;
    cout << "Gimme a string: " << flush;
    cin >> response;
    cout << "The string is: " << response << endl;
    system("pause");
    return 0;
}

そこでうまくいかないことはあまりありません

とにかく、Eclipse のような「コンソール」がないことに気付きました。すべてのテキストが小さなコマンド プロンプト ウィンドウに表示されます。また、このウィンドウは、新しいテキストを表示した直後に閉じます ( のようにcin)。system("pause") を使用できると言われましたが、もっと良い方法が必要です。Eclipse では、コンソール ウィンドウが閉じたためにテキストが突然消えることはありませんでした。

この質問は少し混乱するかもしれませんが、コメントしてください。私が言っていることを説明しようと思います。または、コードを Visual Studio 2012 Express Edition に貼り付けます。

しかし、コマンドプロンプトタイプのウィンドウではなく、「コンソール」にすべてのテキストと何かを表示する方法はありますか? 最後のものを読む前にいつも閉じてしまうのはなぜですか?

4

4 に答える 4

0

あなたが説明する動作は、Visual Studio がデフォルトでどのように機能するかを示しています。デバッグ モードでは、プログラムの最後にある return 行にブレーク ポイントを追加して、ウィンドウをぶらぶらさせて何が起こったのかを確認します。それ以外の場合は、リリース プログラムをコマンド プロンプトから直接実行するので問題ありません。動作をドッキングパネルに変更する方法を見つけたことがありません。これは私が好むものです-おそらく他の誰かが知っていますか?

于 2013-06-27T16:15:34.903 に答える
0

OutputDebugStringメソッドを使用してみてください。OutputDebugStream をソースとして使用する独自のラッパー クラスを作成することをお勧めしますが、stdio に似ています。それは苦痛であり、Visual Studio がコンソール機能への標準 I/O に役立たない理由がわかりません。おそらく、すでにこれを行っているオープンソース プロジェクトがいくつかあるでしょう。簡単な検索で、これを見つけまし

于 2013-06-27T16:31:05.983 に答える