- ベストアンサー
コマンドプロンプトがすぐ消える
Cpad for Borland C++Compilerという統合開発環境を使ってC/C++を書いています。 OSがvistaで32ビットのパソコンでは普通にできたのですが、OSが7で64ビットの新しいパソコンでは実行してもすぐにコマンドプロンプトが閉じてしまいます。 なにが原因なのでしょうか?OSでしょうか、それともbit数でしょうか。 また、すぐ消えないようにするためにはどのようにすればいいのですか。いろいろな回答を見たのですが、どれも初心者の私には言葉足らずで理解できませんでした。詳しく教えていただけるとありがたいです。よろしくお願いします。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
回答したついでになりますが、こういう場合はgetch関数を使うのがC言語の慣習でもあります。 getchでコンパイルが通らなければ_getch(最初にアンダーバー)です。 どっちで通るかはコンパイラが実装しているC規格によって変わります。 --------------------------------- #include <stdio.h> /* printf */ #include <conio.h> /* getch */ int main(void) { printf("before getch()\n"); getch(); /* ここで一旦プロンプトが止まる。Enterキーで再始動。 */ printf("after getch()\n"); getch(); /* ここでまたプロンプトが止まる。 */ return 0; } ---------------------------------
その他の回答 (4)
- notnot
- ベストアンサー率47% (4900/10358)
No1です。 mainが、printf("Hello World!\n"); だけのプログラムで、Explorerからexeファイルをダブルクリックしたのなら表示後一瞬でコマンドプロンプトが閉じるのが正常です。 Vistaで、閉じなかったのであればおかしいですね。他に何か表示されていませんか?
お礼
>mainが、printf("Hello World!\n"); だけのプログラムで、Explorerからexeファイルをダブルクリックしたのなら表示後一瞬でコマンドプロンプトが閉じるのが正常です。 Exploreからexeファイルをダブルクリックはしていません。cpad(C言語の統合開発環境)から実行してすぐに消えるのです。コードは以下 #include <stdio.h> int main() { printf("Hello, World! (C) \n"); return 0; } 他になにか表示されているのかと思ってみようと思ったのですが、すぐ消えるので文章が見れませんでした。。
- toda hiro(@hiro_knigh)
- ベストアンサー率39% (59/151)
過去の回答です。 参照願います。
お礼
すみません。わざわざURLを張っていただいたのですが、いまいちどこを参照すればいいのかよくわかりません。。 とりあえず、visual basicを使うときはブレークポイントというのをretun 0のところに使えば止まるというのはわかりました、ありがとうございます。
- duke_kimura
- ベストアンサー率39% (53/134)
>> すぐ消えないようにするためにはどのようにすればいいのですか。 1. [スタート]-->[すべてのプログラム]-->[アクセサリ]-->[コマンドプロンプト]を開く 2. 出てきたコマンドプロンプトに、作成したExeをドラッグアンドドロップ 3. コマンドプロンプト上にExeのパスが入力されるのでEnterキー この方法ならすぐにコマンドプロンプトは消えません。 メッセージなどが表示されていれば、この方法で見ることができます。
お礼
なるほど! プログラムが保存されているフォルダまで移動して、そのあとに bcc32 test.cpp でコンパイルをしてそのあとに test(.exe) で実行できるのですね!この場合だったら確かに止まらずにちゃんとハローワールドが見れました。ありがとうございました。
- notnot
- ベストアンサー率47% (4900/10358)
>なにが原因なのでしょうか?OSでしょうか、それともbit数でしょうか。 操作を間違っている、もしくは書いたプログラムがおかしいわけですが、何がしたくてどうしたのか不明なので、何が正解かとかまでは言えません。 他人が再現できる程度に詳しく書けば正しいアドバイスが得られるでしょう。
お礼
vistaでも7でも同じハローワールドのプログラムを打って、設定の仕方も全く同じようにやったのでそこでの原因ではないと思ってあえてそこは書きませんでした。 自分なりに考えてOSかbit数が原因なのかなって考えてます。
お礼
なるほど!こういう「これ!」っていう回答を求めていました。 ソースコードまでご丁寧にありがとうございます。 回答ありがとうございました。