• ベストアンサー

実行ファイルについて

 OSはWinXPでコンパイラはVC++を使用しています。  作成したプログラム等がVisual Studio Projectsフォルダに保存されて、Debugの中にある実行ファイルが私の場合「program.exe」と保存されています。 その実行ファイルprogram.exeをcmdまでドラッグして実行すると問題なく実行できるのですが、program.exeそのものをクリックして実行すると、プログラムが終了したと同時に画面が消えるようになってしまいます。これを勝手に消えなくするにはどうすればよいのですか?教えてください。 *プログラム自体は問題ありません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

これでどうですか?Enterキーを押すとプログラムが終了します。 #include <stdio.h> int main() { printf("Hallo World"); getchar(); return 0; }

eku6fexdd
質問者

お礼

getchar(); を入れたら実行できました。 どうもありがとうございました!

その他の回答 (3)

回答No.3

#include <stdio.h> int main() { printf("Hallo World"); return 0; } ↑は例として見てください。 これを実行した場合、画面に「Hallo World」と表示をして、プログラムを終了します。 コマンドプロプト(cmd)を通して実行していた場合、プログラムが終了しても処理がcmdに戻るだけで窓は消えませんが、 普通にダブルクリックで起動した場合にはプログラムが終了したら窓が消えてしまいます。 これは正常な動作であり、避ける事が出来ません。 そこで「プログラムの終了を引き伸ばす」という処理で、すぐには窓を消えさせなくする方法を取ります。 例示したプログラムで言うと、printf()とreturnの間に処理を挟みます。 >それが↓のお二方の回答の内容です。 自分の場合、stdlib.hをインクルードしてsystem()関数を使用してpauseコマンドを発行して待たせています。

eku6fexdd
質問者

補足

具体的に例のハローワールドのプログラムだと、どこにどのような形で関数等を組み込めばよいのですか? すみませんがお願いしますm(__)m

回答No.2

プログラムの最後(に実行される部分)にキーボードの入力を待つような処置を取ってはいかが?

eku6fexdd
質問者

お礼

なるほど分かりました。 回答どうもありがとうございました。

  • php504
  • ベストアンサー率42% (926/2160)
回答No.1

プログラムの最後に無限ループを作れば終了しないので開いたままになります。 何かのキー入力でループを抜けるようにしてもいいですね。

eku6fexdd
質問者

補足

 分かりました。やってみます。 回答どうもありがとうございました。

関連するQ&A