こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

.exeファイルについて

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

投稿日時 - 2004-01-12 17:30:36

QNo.749100

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(10)

ANo.10

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

投稿日時 - 2004-01-14 20:51:57

ANo.9

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

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

投稿日時 - 2004-01-14 20:48:22

ANo.8

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

投稿日時 - 2004-01-12 20:20:14

補足

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

投稿日時 - 2004-01-14 20:06:42

ANo.7

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

投稿日時 - 2004-01-12 19:21:12

補足

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

投稿日時 - 2004-01-12 19:37:57

ANo.6

こんにちは

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

これで試してみて下さい。

投稿日時 - 2004-01-12 18:35:42

補足

だめでした・・・

投稿日時 - 2004-01-12 19:42:26

ANo.5

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

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

投稿日時 - 2004-01-12 18:04:02

補足

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

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

と入力してもダメでした。

投稿日時 - 2004-01-12 18:23:22

ANo.4

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

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

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

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

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

投稿日時 - 2004-01-12 17:55:53

ANo.3

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

投稿日時 - 2004-01-12 17:55:46

補足

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

投稿日時 - 2004-01-12 18:25:56

ANo.2

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

投稿日時 - 2004-01-12 17:53:46

ANo.1

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

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

投稿日時 - 2004-01-12 17:37:13

補足

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

投稿日時 - 2004-01-12 17:38:45

あなたにオススメの質問