• ベストアンサー

C言語で作ったEXEファイルの実行について

最近、C言語で作ったEXEファイルをPC上で実行しました。 ファイルは実行できて、数値の入力、計算結果の表示はされるのですが すぐに閉じて(終了して)しまいます。 プログラムの流れは 1)メッセージの表示 2)カンマ区切りで数値の入力 3)計算結果の表示 の順番で実行されます。 しかし、3)が表示された後すぐファイルが閉じられてしまうため、 計算結果の確認ができません。 エディター(Bcpad)で実行すると計算結果が表示された後に何かキーを押すと正常に終了します。 どうすればいいでしょうか。

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

  • ベストアンサー
  • asuncion
  • ベストアンサー率33% (2127/6289)
回答No.3

>ファイルは実行できて、数値の入力、計算結果の表示はされるのですが >すぐに閉じて(終了して)しまいます。 お使いの開発環境(BcPad以外)においては、コマンドプロンプトへの 結果表示後、すぐに閉じてしまうようになっているのでしょう。 回避するための方法はいくつかありますが、安直なのはプログラムの最後に getchar(); を入れて、何か入力する(一般にはエンターキー)まで待ち続けるなんていう 手があると思います。

yf491224
質問者

お礼

早速の回答ありがとうございます。 プログラムの最後にgetchar()で入力受付する案 やってみます。 貴重な意見ありがとうございました。

その他の回答 (3)

回答No.4

例えば、手元のWin7だと、 Winキー+Rで「ファイル名を指定して実行」ダイアログを表示。 「cmd」と入力、OKでコマンドプロンプトを表示。 作成した.exeをコマンドプロンプトへドラッグ&ドロップし、ファイルのパスを入力し、そのままEnterで実行。 とか。 あるいは、 .exeと同じフォルダをエクスプローラで表示。 何もない場所を右クリック-[新規作成]-「テキスト ドキュメント」 「新しいテキスト ドキュメント.txt」のファイルが作成されるので、ファイル名を「△△.bat」と、適当な名前と拡張子に.batを指定。 「拡張子を変更すると、ファイルが使えなく~」の警告が出るので「はい」で拡張子変更。 (エクスプローラで拡張子を表示しない設定にしていると、上手くいかないかも。) .batを右クリック-[編集]でメモ帳で編集。 ○○○○.exe ←作成した.exeの名前 pause と記載して上書き保存して閉じる。 .batをダブルクリックなどで実行。 とか。

yf491224
質問者

お礼

早速の回答ありがとうございます。 batファイル上での実行 なるほどと思いました。 貴重な意見ありがとうございました。

  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.2

EXEということはWindowsですね。 ビルドはコマンドプロンプトアプリですか? で、実行はエクスプローラから開いた? だったら結果を表示したらすぐ閉じるのは当たり前です。 コマンドプロンプト用にビルドしたものならコマンドプロンプト上で実行しないとプロンプト自体が閉じてしまいます。 これは「ファイル名を指定して実行」で「dir」と実行したときと同じです。 ※Windows10ではdirが見つからないとエラーになりますがw  あ、xcopyなら実行できますね。 Windowsで開発している人にとっては常識なので覚えておきましょう。

yf491224
質問者

お礼

早速の回答ありがとうございます。 ビルドしてできたのはDOS上で動くアプリケーションです。 DOS上で動かさないとだめなのですね。 ご指摘ありがとうございます。

  • Gletscher
  • ベストアンサー率23% (1525/6504)
回答No.1

計算結果を表示した後の処理はどうしていますか? 入力受付処理にループして無ければ当然じゃないでしょうか?

yf491224
質問者

お礼

早速の回答ありがとうございました。 結果を表示した後は、プログラムの終了です。 >入力受付処理にループして無ければ当然じゃないでしょうか? そうだったのですね。 てっきり、Bcpad上の動作と同じになると思っていました。 ご指摘ありがとうございました。