プロが教える店舗&オフィスのセキュリティ対策術

Cpad for Borland C++Compilerという統合開発環境を使ってC/C++を書いています。
OSがvistaで32ビットのパソコンでは普通にできたのですが、OSが7で64ビットの新しいパソコンでは実行してもすぐにコマンドプロンプトが閉じてしまいます。

なにが原因なのでしょうか?OSでしょうか、それともbit数でしょうか。

また、すぐ消えないようにするためにはどのようにすればいいのですか。いろいろな回答を見たのですが、どれも初心者の私には言葉足らずで理解できませんでした。詳しく教えていただけるとありがたいです。よろしくお願いします。

A 回答 (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;
}
---------------------------------
    • good
    • 1
この回答へのお礼

なるほど!こういう「これ!」っていう回答を求めていました。

ソースコードまでご丁寧にありがとうございます。

回答ありがとうございました。

お礼日時:2012/04/09 01:25

No1です。


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

>mainが、printf("Hello World!\n"); だけのプログラムで、Explorerからexeファイルをダブルクリックしたのなら表示後一瞬でコマンドプロンプトが閉じるのが正常です。

Exploreからexeファイルをダブルクリックはしていません。cpad(C言語の統合開発環境)から実行してすぐに消えるのです。コードは以下


#include <stdio.h>
int main()
{
printf("Hello, World! (C) \n");
return 0;
}


他になにか表示されているのかと思ってみようと思ったのですが、すぐ消えるので文章が見れませんでした。。

お礼日時:2012/04/09 01:31

過去の回答です。


参照願います。

参考URL:http://oshiete.goo.ne.jp/qa/5305055.html
    • good
    • 0
この回答へのお礼

すみません。わざわざURLを張っていただいたのですが、いまいちどこを参照すればいいのかよくわかりません。。

とりあえず、visual basicを使うときはブレークポイントというのをretun 0のところに使えば止まるというのはわかりました、ありがとうございます。

お礼日時:2012/04/08 01:00

>> すぐ消えないようにするためにはどのようにすればいいのですか。



1. [スタート]-->[すべてのプログラム]-->[アクセサリ]-->[コマンドプロンプト]を開く
2. 出てきたコマンドプロンプトに、作成したExeをドラッグアンドドロップ
3. コマンドプロンプト上にExeのパスが入力されるのでEnterキー

この方法ならすぐにコマンドプロンプトは消えません。
メッセージなどが表示されていれば、この方法で見ることができます。
    • good
    • 2
この回答へのお礼

なるほど!

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

お礼日時:2012/04/08 01:03

>なにが原因なのでしょうか?OSでしょうか、それともbit数でしょうか。



操作を間違っている、もしくは書いたプログラムがおかしいわけですが、何がしたくてどうしたのか不明なので、何が正解かとかまでは言えません。
他人が再現できる程度に詳しく書けば正しいアドバイスが得られるでしょう。
    • good
    • 1
この回答へのお礼

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

自分なりに考えてOSかbit数が原因なのかなって考えてます。

お礼日時:2012/04/08 00:52

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