• 締切
  • 困ってます

.exeファイルについて

  • 質問No.749100
  • 閲覧数276
  • ありがとう数2
  • 気になる数0
  • 回答数10
  • コメント数0

お礼率 26% (28/105)

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

回答 (全10件)

  • 回答No.10

ベストアンサー率 35% (50/139)

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

ベストアンサー率 35% (50/139)

>未定義の関数 'getch' を呼び出した(関数 main() )
>というエラーが出てしまいました。
getch の代わりに getchar を使ってみては?

// stdio.hをインクルードするのをお忘れなく。
// ちなみに getch( ) は curses.h をインクルードすれば
// 使えるんじゃないでしょうか。
// (さらに何かライブラリをリンクする必要があるかもしれません。)
  • 回答No.8

ベストアンサー率 35% (842/2394)

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

お礼率 26% (28/105)

未定義の関数 'getch' を呼び出した(関数 main() )
というエラーが出てしまいました。
投稿日時:2004/01/14 20:06
  • 回答No.7

ベストアンサー率 35% (124/348)

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

お礼率 26% (28/105)

それを実行すると、
”続行するには何かキーを押してください”
と出てきて何か入力すると消えてしまいました。
投稿日時:2004/01/12 19:37
  • 回答No.6

ベストアンサー率 35% (842/2394)

こんにちは

puts("Press Enter to Exit.");
while ( getch() != 0x0D );

これで試してみて下さい。
補足コメント
altair1314

お礼率 26% (28/105)

だめでした・・・
投稿日時:2004/01/12 19:42
  • 回答No.5

ベストアンサー率 49% (102/207)

#4ですが、ちょっと補足。
入力待ちにgetchar()を使うと、
それ以前に他の標準入力があったりすると、上手く動作しないことがあります。
(「それ以前の標準入力」で入力されたEnterが、処理されずに溜まっていて、
最後に入力待ちをしたいgetchar()がそれに反応してしまう)

代わりにgets()か、cin.getline()を使えばいいような気もしますが、そこは自信なし。
補足コメント
altair1314

お礼率 26% (28/105)

確かに、入力が入っていると計算結果が表示される前に消えてしまいますね。

printf("Enterで終了。");
gets("%enter");

と入力してもダメでした。
投稿日時:2004/01/12 18:23
  • 回答No.4

ベストアンサー率 49% (102/207)

#1の方の言う通り、ダブルクリックして実行させると、
プログラムが終了した時点で、プロンプトも閉じてしまいます。
(実行はされてるので、ファイル作成などの処理をしていた場合、ファイルは作成されます)

一般的な方法としては、プログラムの最後に入力待ちを作ってやることが多いですね。
たとえば、

main(){
printf("Hello World!\n");

printf("Press Enter to Exit.\n");
getchar(); // ここで入力待ち
}

こうすれば、Enterが入力されるまでは、プロンプトは閉じません。
  • 回答No.3

ベストアンサー率 44% (5540/12318)

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

お礼率 26% (28/105)

プロパティにプログラムのタブがありませんでした。
ちなみに、WnXPです。
投稿日時:2004/01/12 18:25
  • 回答No.2

ベストアンサー率 35% (842/2394)

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

ベストアンサー率 35% (124/348)

>.exeファイルをダブルクリックした時にコマンドプロンプトは一瞬は
>出てくるんですが、すぐに消えてしまいます。
MS-DOSプログラムのようですが、具体的に何でしょうか?
プログラムの実行が終了するとコマンドプロンプトは閉じます。

>このファイルを起動させるためにはスタートメニューから一々コマンド
>プロンプトを起動させなければならないんですか?
最初の方法でも起動されているはずですが...
コマンドプロンプトではどういう操作をしていますか?
補足コメント
altair1314

お礼率 26% (28/105)

ただ単に、○○を表示せよというように単純なプログラムです。
投稿日時:2004/01/12 17:38
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

ピックアップ

ページ先頭へ