電子書籍の厳選無料作品が豊富!

以前こちらでC++のお試しコードでも書いてみたらとご指導を受け、
コンストラクタの動きを理解するため等々、
何個かコンソールプログラムを書いてみました。

それで処理が終了するとコンソールが勝手に閉じてしまうものと、
Press any Key to continue と表示されて止まっているものがあります。

処理としては後者の止まっている状態の方が正しいようで、
しかもその状態でないと画面に表示させた内容を十分に確認できません。

勝手に閉じるというのは設定が変なのか、
それとも#ifdefのような記述が必要なのか、全然分かりません。
よろしくお願いします。

A 回答 (5件)

「実行」するとPress~が出ますが


「デバッグ実行」するとPress~は出ません。

私もよく言われますが、お礼に一言余計な気がします。
「それだけ想像力が~」のくだりとか。
あまり気分のいいものではありませんよ。
    • good
    • 0
この回答へのお礼

すみません。。。
初心者でコードが読めてないとか書かれたものですから
随分飛躍してくれるなあと思ったんで・・・

お気遣いの言葉も頂いたので、言葉は選んだつもりです。
他の人まで不快な気分にさせたのなら申し訳なかったです。

お礼日時:2006/10/02 20:25

IDEから直接コンソールプログラムを起動しているなら、


『デバッグなしで開始』(デフォルトでCtrl+F5)
を行うことで、プログラム終了後に静止するはず。
>Press any Key to continue

但しブレイクポイント無効。

・・・こういうこと?
    • good
    • 0
この回答へのお礼

うまくいきました。
どうもありがとうございます。

お礼日時:2006/10/04 14:49

コマンドプロンプトは本来、業務を遂行するように作られているので、コマンドプロンプトでの業務がおわれば、閉じてしまいます。



また、普通、プログラムの勉強をしていると、いちいち閉じられてしまっては、不便な場合が多々あるので、スタート→プログラム→アクセサリ→コマンドプロンプトとして、コマンドプロンプト自体を開いてしまい、その後、abc.exeとか実行したいファイル名をコマンドすると、abc.exeが終了した後もコマンドプロンプトは開いたままです。

>Press any Key to continue と表示されて止まっているものがあります

これに関しましては、あなたは初心者なのでコードを読めてないと思いますが、「なにかキーをおしてくれるまで静止する」という命令コードがプログラムの中に書かれているはずです。ただ、単純にそれだけの話です。

プログラムは慣れるまで大変ですが、がんばってください。
    • good
    • 0
この回答へのお礼

・・・
コードは1から全部自分が書いてます。

今回はVCのデバッガの動きが変みたいなので、その質問だったのです。
それだけ想像力が豊かならデバッガの方に気付いてくれればありがたかったです。

どうもありがとうございました。

お礼日時:2006/10/02 18:18

普通に、例えば


int main()
{
printf("Hello world!\n");
return 0;
}
のようなプログラムを書いたとき
GUI(エクスプローラー)上からexeファイルをダブルクリックして実行した場合、一瞬表示されてすぐにwindowが閉じてしまいます。
一方で、VCから「実行」すると、Press~と表示されてキーを押すまで終了しません。これはVCの機能です。
自動で閉じるのを抑制したい場合は、getsなどの入力を待つ関数をreturnの前に入れる必要が有ります。
また、コンソール(コマンドプロンプト)上から実行すると、終了してもWindowは閉じません。
    • good
    • 0
この回答へのお礼

う~ん
つまりVC上のデバッガで実行しているんです

だからpress~と出る場合と出ない場合があると書いてあるんです。
何がおかしいんでしょうか。

お礼日時:2006/10/02 17:46

それで環境は何でしょうか?

    • good
    • 0
この回答へのお礼

すみません。VC++6.0です。

お礼日時:2006/10/02 12:57

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