重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【終了しました】教えて!goo新規会員登録

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

A 回答 (10件)

No.9です。


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

>未定義の関数 'getch' を呼び出した(関数 main() )


>というエラーが出てしまいました。
getch の代わりに getchar を使ってみては?

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

計算結果を表示させた後にEnterキー待ちにしたいのですよね?もし違ったら補足してください。


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

この回答への補足

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

補足日時:2004/01/14 20:06
    • good
    • 0

#1です。


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

この回答への補足

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

補足日時:2004/01/12 19:37
    • good
    • 0

こんにちは



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

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

この回答への補足

だめでした・・・

補足日時:2004/01/12 19:42
    • good
    • 0

#4ですが、ちょっと補足。


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

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

この回答への補足

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

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

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

補足日時:2004/01/12 18:23
    • good
    • 0

#1の方の言う通り、ダブルクリックして実行させると、


プログラムが終了した時点で、プロンプトも閉じてしまいます。
(実行はされてるので、ファイル作成などの処理をしていた場合、ファイルは作成されます)

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

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

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

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

EXEを右クリック-[プロパティ]の


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

この回答への補足

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

補足日時:2004/01/12 18:25
    • good
    • 0

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


フォルダに移動するのが難しい様でしたら、exeファイルをコマンドプロンプトにドラッグアンドドロップすれば良いですね。
    • good
    • 0

>.exeファイルをダブルクリックした時にコマンドプロンプトは一瞬は


>出てくるんですが、すぐに消えてしまいます。
MS-DOSプログラムのようですが、具体的に何でしょうか?
プログラムの実行が終了するとコマンドプロンプトは閉じます。

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

この回答への補足

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

補足日時:2004/01/12 17:38
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!