web-dev-qa-db-ja.com

Windows上のC ++-コンソールウィンドウが点滅して消えます。どうしたの?

重複の可能性:
Visual Studioコンソールアプリ-ウィンドウが閉じないようにします。

私はWindowsでC++を学び始めており、いくつかの異なる開発環境を試しています。1.Cygwinコンパイラを備えたNetbeans2。MS Visual Studio 2010

どちらの場合も、非常に単純なHello Worldプログラムを作成するときに、それをビルドすれば問題ありません。しかし、プログラムを実行しようとすると、コマンドプロンプトウィンドウがすぐにポップアップし、すぐに消えます。

これは、デバッグ構成またはリリース構成のどちらにある場合でも発生します。これを手伝ってください-プログラムの出力が表示されません! :(

ありがとう。

編集1:返信ありがとうございます。これは私のコードです:

#include <iostream>

int main()
{
    std::cout << "This is a test." << std::endl;
    return 0;
}

「デバッグなしで開始」にCtrl + F5を試しましたが、機能しません。それでも黒いコンソール画面が点滅し、すぐに消えます。

Std :: cin.get();も追加してみました。これはCtrl + F5で機能しますが、それは本当に...エレガントでない回避策ではありませんか?私はむしろ私のプログラムを最終的な形にしたいのです。

ブレークポイントは機能しますが、デバッグを実行する必要があり、コンソールウィンドウが点滅して消えますが、バックグラウンドのままになります。コンソールをフォアグラウンドに維持して、プログラム出力をすぐに確認できるようにする方法はありますか?それがどのように機能するかというようです。

これ以上のアイデアはありますか? Ctrl + F5が機能しないのはなぜですか?

5
John Smith

プログラムが終了したら、Ctrl + F5Run without debugging)を押します。これはウィンドウを閉じる前にプロンプ​​トを表示し、これが必要なものです。

14
user225312

プログラムの最後にcin.get()を記述します。

7
Simone

あなたのプログラムは_Hello World_を出力して終了するだけだと思います。これが、コンソールがすぐに閉じる理由です。コマンドプロンプトから実行可能ファイルを実行できます([スタート]メニュー> [ファイル名を指定して実行]を選択し、cmd.exeと入力します)。
それ以外の場合は、コードにstd::cin.get()を挿入して、プログラムがユーザーの入力を待機し、キーが押されるまでコンソールウィンドウを開いたままにすることができます。

1
swatkat

使用する Ctrl+F5プログラムを実行するか、最後の行にブレークポイントを設定するか、cin>>最後に任意のvraiableに....など

1

アプリケーションはおそらく機能しています。コンソールアプリケーションの最後のコマンドをユーザー入力を待機させます。例:int i; string i; cout<<"Hello"; cin<<i;

1
TheCee

_cmd.exe_から戻るか実行する前に、getchar()を発行します

0
soulseekah