• 締切済み

結果が見れない~

マイクロソフト社のVC++を使用していますが、 Win32 Console Applicationで作成したプログラムを C++の画面上の実行ボタン(!びっくりマークのやつ) を押して実行するとうまくいきますが、 その実行プログラムがDebug(綴り合ってるかな?デバッグ)のフォルダ に出てきていて、 そのアイコンをクリックして起動させると(MSdos)、 数値入力は何事もなく行えるのですが、 そのあと結果を表示したかと思うと 直ちにそのプログラムが画面から姿を消してしまいます。 というか、勝手に終了してしまいます。 結果はおそらく出ていると思うのですが それを見るまもなく消えてしまいます。 やはり、C++のアプリケーションから実行しないと結果は 見ることは出来ないのでしょうか?

みんなの回答

  • natural
  • ベストアンサー率37% (419/1115)
回答No.4

奇しくもNo.1の方の1の方法をNo.3の方が、2の方法を私がそれぞれ提案していますね~。(^_^) 補足に従って2の方法を説明します。 結果表示の部分ですが、C++だとcoutでしょうか、それともprintfをご使用でしょうか? とにかくそれらの文による結果表示の次の行に getchar(); を入れるだけです。 リンクエラーが出る様でしたらヘルプでgetcharを引いて必要なヘッダファイルをインクルードして下さい。

  • yatokesa
  • ベストアンサー率40% (201/496)
回答No.3

「Console Application」というのは、基本的にコマンドライン上で実行するためのものです。 MS-DOSコマンドプロンプトをスタートメニューから起動し、当該ディレクトリに cd コマンド等で移動してから実行してください。

  • natural
  • ベストアンサー率37% (419/1115)
回答No.2

結果表示部分の後にgetchar()を置いてみてください。 Enterを押すまで表示が消えずに残ると思うのですが・・・。

tomoryo
質問者

補足

それを書く場所は C++内のソースファイルのある部分ですか?

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.1

こんにちは、honiyonです。  C++のアプリケーションから~というのは良く分かりませんが...(^^;  それはWindowsの仕様です。  MS-DOSアプリケーションは、実行が終了すると即Windowが閉じられます。  そのため、最後に結果を出力して終了していると、結果を確認する間もなくWindowが閉じられてしまう事になります。  これを避ける方法は2つあります。  1.MS-DOSを起動し、そこからアプリケーションを実行する。  2.結果表示後、何かキーを入力してもらうまでアプリケーションを終了しない   ようにする。     1は、MS-DOSというアプリケーション(として扱われます)から実行しているため、プログラムの実行が終了してもMS-DOSは終了しないのでWindowは閉じられません。(言っている意味分かりますでしょう^^;)  2は結果表示後、すぐに終了しないようにする事で対処します。 具体的には getchar関数でも書いておけば、enterが押されるまで終了しなくなります。(この関数の詳細はヘルプで調べて下さい)  参考になれば幸いです(..