• ベストアンサー

コマンドプロンプトがすぐ消える

Cpad for Borland C++Compilerという統合開発環境を使ってC/C++を書いています。 OSがvistaで32ビットのパソコンでは普通にできたのですが、OSが7で64ビットの新しいパソコンでは実行してもすぐにコマンドプロンプトが閉じてしまいます。 なにが原因なのでしょうか?OSでしょうか、それともbit数でしょうか。 また、すぐ消えないようにするためにはどのようにすればいいのですか。いろいろな回答を見たのですが、どれも初心者の私には言葉足らずで理解できませんでした。詳しく教えていただけるとありがたいです。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.4

回答したついでになりますが、こういう場合は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; } ---------------------------------

thjki6624
質問者

お礼

なるほど!こういう「これ!」っていう回答を求めていました。 ソースコードまでご丁寧にありがとうございます。 回答ありがとうございました。

その他の回答 (4)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.5

No1です。 mainが、printf("Hello World!\n"); だけのプログラムで、Explorerからexeファイルをダブルクリックしたのなら表示後一瞬でコマンドプロンプトが閉じるのが正常です。 Vistaで、閉じなかったのであればおかしいですね。他に何か表示されていませんか?

thjki6624
質問者

お礼

>mainが、printf("Hello World!\n"); だけのプログラムで、Explorerからexeファイルをダブルクリックしたのなら表示後一瞬でコマンドプロンプトが閉じるのが正常です。 Exploreからexeファイルをダブルクリックはしていません。cpad(C言語の統合開発環境)から実行してすぐに消えるのです。コードは以下 #include <stdio.h> int main() { printf("Hello, World! (C) \n"); return 0; } 他になにか表示されているのかと思ってみようと思ったのですが、すぐ消えるので文章が見れませんでした。。

回答No.3

過去の回答です。 参照願います。

参考URL:
http://okwave.jp/qa/q5305055.html
thjki6624
質問者

お礼

すみません。わざわざURLを張っていただいたのですが、いまいちどこを参照すればいいのかよくわかりません。。 とりあえず、visual basicを使うときはブレークポイントというのをretun 0のところに使えば止まるというのはわかりました、ありがとうございます。

回答No.2

>> すぐ消えないようにするためにはどのようにすればいいのですか。 1. [スタート]-->[すべてのプログラム]-->[アクセサリ]-->[コマンドプロンプト]を開く 2. 出てきたコマンドプロンプトに、作成したExeをドラッグアンドドロップ 3. コマンドプロンプト上にExeのパスが入力されるのでEnterキー この方法ならすぐにコマンドプロンプトは消えません。 メッセージなどが表示されていれば、この方法で見ることができます。

thjki6624
質問者

お礼

なるほど! プログラムが保存されているフォルダまで移動して、そのあとに bcc32 test.cpp でコンパイルをしてそのあとに test(.exe) で実行できるのですね!この場合だったら確かに止まらずにちゃんとハローワールドが見れました。ありがとうございました。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.1

>なにが原因なのでしょうか?OSでしょうか、それともbit数でしょうか。 操作を間違っている、もしくは書いたプログラムがおかしいわけですが、何がしたくてどうしたのか不明なので、何が正解かとかまでは言えません。 他人が再現できる程度に詳しく書けば正しいアドバイスが得られるでしょう。

thjki6624
質問者

お礼

vistaでも7でも同じハローワールドのプログラムを打って、設定の仕方も全く同じようにやったのでそこでの原因ではないと思ってあえてそこは書きませんでした。 自分なりに考えてOSかbit数が原因なのかなって考えてます。

関連するQ&A