• 締切済み

.exeファイルについて

.exeファイルをダブルクリックした時にコマンドプロンプトは一瞬は出てくるんですが、すぐに消えてしまいます。 このファイルを起動させるためにはスタートメニューから一々コマンドプロンプトを起動させなければならないんですか?

みんなの回答

  • HOGERA3
  • ベストアンサー率35% (50/139)
回答No.10

No.9です。 「getchar()はダメ」って過去の回答にありましたね。 読んでませんでした。 失礼しました。

  • HOGERA3
  • ベストアンサー率35% (50/139)
回答No.9

>未定義の関数 'getch' を呼び出した(関数 main() ) >というエラーが出てしまいました。 getch の代わりに getchar を使ってみては? // stdio.hをインクルードするのをお忘れなく。 // ちなみに getch( ) は curses.h をインクルードすれば // 使えるんじゃないでしょうか。 // (さらに何かライブラリをリンクする必要があるかもしれません。)

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.8

計算結果を表示させた後にEnterキー待ちにしたいのですよね?もし違ったら補足してください。 puts("Press Enter to Exit."); while ( getch() != 0x0D ); をどこに記述しましたか? 計算結果を表示した直後に入れましたか? 例えばEnter待ちでは都合が悪いのであれば、Esc待ちにでもしましょうか。 puts("Press Esc to Exit."); while ( getch() != 0x0B ); にしてみてはいかがですか?

altair1314
質問者

補足

未定義の関数 'getch' を呼び出した(関数 main() ) というエラーが出てしまいました。

  • ara_ara
  • ベストアンサー率35% (124/348)
回答No.7

#1です。 プログラムを閉じたくなければプログラム自体をその様にしてもいいですが、 DOSのバッチファイルを使って起動すればいいと思います。 そのプログラムと同じフォルダに拡張子がBATの例えばtest.batを作成します。 このファイルに下記の2行を書いて保存し、test.batを実行してみてください。  TEST.EXE  PAUSE TEST.EXEを実行後、キー入力待ちになります。

altair1314
質問者

補足

それを実行すると、 ”続行するには何かキーを押してください” と出てきて何か入力すると消えてしまいました。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.6

こんにちは puts("Press Enter to Exit."); while ( getch() != 0x0D ); これで試してみて下さい。

altair1314
質問者

補足

だめでした・・・

  • selene_pl
  • ベストアンサー率49% (102/207)
回答No.5

#4ですが、ちょっと補足。 入力待ちにgetchar()を使うと、 それ以前に他の標準入力があったりすると、上手く動作しないことがあります。 (「それ以前の標準入力」で入力されたEnterが、処理されずに溜まっていて、 最後に入力待ちをしたいgetchar()がそれに反応してしまう) 代わりにgets()か、cin.getline()を使えばいいような気もしますが、そこは自信なし。

altair1314
質問者

補足

確かに、入力が入っていると計算結果が表示される前に消えてしまいますね。 printf("Enterで終了。"); gets("%enter"); と入力してもダメでした。

  • selene_pl
  • ベストアンサー率49% (102/207)
回答No.4

#1の方の言う通り、ダブルクリックして実行させると、 プログラムが終了した時点で、プロンプトも閉じてしまいます。 (実行はされてるので、ファイル作成などの処理をしていた場合、ファイルは作成されます) 一般的な方法としては、プログラムの最後に入力待ちを作ってやることが多いですね。 たとえば、 main(){ printf("Hello World!\n"); printf("Press Enter to Exit.\n"); getchar(); // ここで入力待ち } こうすれば、Enterが入力されるまでは、プロンプトは閉じません。

  • neKo_deux
  • ベストアンサー率44% (5541/12319)
回答No.3

EXEを右クリック-[プロパティ]の 「○○のプロパティ」ウインドウ 「プログラム」タブで、 「終了時にウインドウを閉じる」のチェックを外す。 という手もアリです。

altair1314
質問者

補足

プロパティにプログラムのタブがありませんでした。 ちなみに、WnXPです。

  • arukamun
  • ベストアンサー率35% (842/2394)
回答No.2

コマンドプロンプトを開いて、そのプログラムが存在するフォルダに移動して、コマンドとして実行すれば良いですね。 フォルダに移動するのが難しい様でしたら、exeファイルをコマンドプロンプトにドラッグアンドドロップすれば良いですね。

  • ara_ara
  • ベストアンサー率35% (124/348)
回答No.1

>.exeファイルをダブルクリックした時にコマンドプロンプトは一瞬は >出てくるんですが、すぐに消えてしまいます。 MS-DOSプログラムのようですが、具体的に何でしょうか? プログラムの実行が終了するとコマンドプロンプトは閉じます。 >このファイルを起動させるためにはスタートメニューから一々コマンド >プロンプトを起動させなければならないんですか? 最初の方法でも起動されているはずですが... コマンドプロンプトではどういう操作をしていますか?

altair1314
質問者

補足

ただ単に、○○を表示せよというように単純なプログラムです。

関連するQ&A