• 締切済み

結果が見れない~

マイクロソフト社のVC++を使用していますが、 Win32 Console Applicationで作成したプログラムを C++の画面上の実行ボタン(!びっくりマークのやつ) を押して実行するとうまくいきますが、 その実行プログラムがDebug(綴り合ってるかな?デバッグ)のフォルダ に出てきていて、 そのアイコンをクリックして起動させると(MSdos)、 数値入力は何事もなく行えるのですが、 そのあと結果を表示したかと思うと 直ちにそのプログラムが画面から姿を消してしまいます。 というか、勝手に終了してしまいます。 結果はおそらく出ていると思うのですが それを見るまもなく消えてしまいます。 やはり、C++のアプリケーションから実行しないと結果は 見ることは出来ないのでしょうか?

みんなの回答

  • natural
  • ベストアンサー率37% (419/1115)
回答No.4

奇しくもNo.1の方の1の方法をNo.3の方が、2の方法を私がそれぞれ提案していますね~。(^_^) 補足に従って2の方法を説明します。 結果表示の部分ですが、C++だとcoutでしょうか、それともprintfをご使用でしょうか? とにかくそれらの文による結果表示の次の行に getchar(); を入れるだけです。 リンクエラーが出る様でしたらヘルプでgetcharを引いて必要なヘッダファイルをインクルードして下さい。

  • yatokesa
  • ベストアンサー率40% (201/496)
回答No.3

「Console Application」というのは、基本的にコマンドライン上で実行するためのものです。 MS-DOSコマンドプロンプトをスタートメニューから起動し、当該ディレクトリに cd コマンド等で移動してから実行してください。

  • natural
  • ベストアンサー率37% (419/1115)
回答No.2

結果表示部分の後にgetchar()を置いてみてください。 Enterを押すまで表示が消えずに残ると思うのですが・・・。

tomoryo
質問者

補足

それを書く場所は C++内のソースファイルのある部分ですか?

  • honiyon
  • ベストアンサー率37% (331/872)
回答No.1

こんにちは、honiyonです。  C++のアプリケーションから~というのは良く分かりませんが...(^^;  それはWindowsの仕様です。  MS-DOSアプリケーションは、実行が終了すると即Windowが閉じられます。  そのため、最後に結果を出力して終了していると、結果を確認する間もなくWindowが閉じられてしまう事になります。  これを避ける方法は2つあります。  1.MS-DOSを起動し、そこからアプリケーションを実行する。  2.結果表示後、何かキーを入力してもらうまでアプリケーションを終了しない   ようにする。     1は、MS-DOSというアプリケーション(として扱われます)から実行しているため、プログラムの実行が終了してもMS-DOSは終了しないのでWindowは閉じられません。(言っている意味分かりますでしょう^^;)  2は結果表示後、すぐに終了しないようにする事で対処します。 具体的には getchar関数でも書いておけば、enterが押されるまで終了しなくなります。(この関数の詳細はヘルプで調べて下さい)  参考になれば幸いです(..

関連するQ&A

  • VisualC++6.0

    VisualC++6.0のconsole applicationを使いC言語の勉強をしはじめているところなのですがプログラムを実行してもすぐ画面が閉じてしまい、実行結果を見れないのですが見るようにできますか?

  • 入力修正

    マイクロソフト社のVC++を使っているのですが、 Win32console Appllicationでプログラムを組んで 実行するときに、(MSdosが起動) 入力する数値が二つあるとして 一つ目をいれて、二つ目を入れているときに 一つ目の間違いに気づいて入力し直そうとしても もう一つ目のところにカーソルが移動できず それを一回終了してから最初からやり直す方法しかわかりません。 入力を正す方法を教えてください。

  • #ifdef _DEBUGが効かない

    こんにちは。 Win2000、VC++6.0使用。 今までC言語でプログラムを組んではいましたが、 #define _DEBUG #ifdef _DEBUG print(...); #endif というようにデバッグ用のコードを入れたことはありませんでした。 このような便利なものがあると知り、早速使ってみたのですが、 #define _DEBUG の一文をコメントアウトして、再コンパイル(リビルド) して実行してみたのですが、 普通に #ifdef _DEBUG #endif で囲まれた部分が実行されてしまいます。 #define _DEBUG を宣言しなければ、実行されないと思っていたのですが 自分の勘違いでしょうか? よくわかりません。 どなたかご存知の方、よろしくお願いします。

  • 実行結果について

    Visual C++でプログラムを組んで実行したら結果がMSDOSの画面にバー――っといっきに出力されてしまって全然見れませんでした。最後の方だけはわかるのですが・・。全データを集計してグラフにしないといけないのですが・・・。メチャクチャ馬鹿みたいな質問かもしれませんがマジ困ってるんでアドバイスおねがいします。あと、出力されるデータでグラフを作成する場合はプログラムをいじってVisual Cでできないのでしょうか??いまのところエクセルにデータを打ち込んでグラフにする予定ですがデータの数が半端じゃないので・・・。

  • VB2008 でプログラムを作成している初心者です。

    VB2008 でプログラムを作成している初心者です。 順調に製作&デバッグしながら進めていたプログラムで、突然デバッグしても、作成中のアプリケーションが現れなくなりました。VB開発環境には”プログラム実行中”と表示があり動いているようですが、アプリ画面が出ていないので、そこへの入力も何も、画面確認もできません。何か、設定があるのでしょうか? ちなみに、binやdebugフォルダーのwindowsApplication1.exeをクリックすると、画面が出てきて動作します。 初歩的な問題だとは思いますが大変困っています。 どなたかお分かりになる方、ご教授ください。 よろしくお願いします。

  • vc++ 関連

    ぼくは今vc++2008 を使っています. デバッグなしで実行だとでエラーになるのに デバッグだとエラーにならない というわけのわからないバグで混乱しています. デバッグモードだとエラーが出ないので バグが見つけられなくて困ってます. そういう事ってあるんですか? ちなみにエラーメッセージは Debug Assertion Failed! Program: ...ments\Visual Studio File: c:\program files\microsoft visual studio 9.0\vc\include\list Line: 218 Expression: list iterator not dereferencable です.

  • デバックウインドウがすぐ閉じる

    VS2005のC++を使っています。 VC++6.0の時はコンソールアプリをデバッグすれば、何かキーを押さないとデバッグウインドウは閉じられませんでした。 しかし2005のVC++はデバッグすると実行されてすぐにウインドウが閉じてしまい、結果を確認することが出来ません。 何か設定があるのですか? 探してみましたが見つけられませんでした。 VC++6.0と同じようにキーを押さないとウインドウが閉じないようにするにはどうするのでしょうか?

  • VC++2008 Expressでのexeの生成について

    作成したプログラムからexeファイルを生成して、exeファイルからアプリケーションを実行できるようにしたいのですがうまくいきません。 Visual C++ 2008 Express EditionでC言語でコードを書き、ビルド→デバッグ開始(またはデバッグなしで開始)を行う分には普通に起動できます。 しかし、一般のアプリケーションのようにexeファイルからの実行ができません。 上記で実行したexeファイルは、 \Projects\TripleTriadCUI\Debug(またはRelease) に作られるexeファイルです。 上記exeファイルを実行すると 「"0x004139dd" の命令が "0xcde0c9a9" のメモリを参照しました。メモリが "written" になることはできませんでした。」 というアプリケーションエラーのダイアログが出ます。 作成しているのはCUIのみのプログラムです。 何か分かる方がいらっしゃいましたらご教授願います。

  • VC6.0のデバッグで1つ以上のブレイクポイントが

    VCのサンプルプログラムをデバッグしようとしています。 デバッグ開始を実行すると、exeにデバッグ情報がありません。と表示され、 その後、ひとつ以上のブレイクポイントが設定できませんでした。と表示されます。 プロジェクトの設定でWin32 DEBUGを設定 ビルドメニューのアクティブな構成もWin32 Debug を選択していて、リビルド、コンパイルしています。 別のプロジェクトだと、うまくいくのですが・・・ ブレイクポイントの設定位置も問題ないかと思うのですが、 どなたか、お心当たりございましたら、よろしくお願いします。

  • エラー改善法を教えてください

    windowsXPで他人のプログラムを実行しています。 VC7で作成したプログラムをVC9で起動したところ、 ビルド→デバック→実行までは通ったのですが、 アプリケーションの途中で特定の動作を実行すると、 以下のようなエラーが出ます。 Debug Assertion Failed! Program:~\myProg.exe File:C:\Program Files\Microsoft Visual Studio 9.0\VC\include\vector Line:780 Expression:("Standard C++ Libraries Out of Range",0) For information on how your program can cause an assertion failure, see tha Visual C++ documentation on asserts. (Press Retry to debug the application) その後、myProg.exeによってブレークポイントが発生しました となります。 エラーがC:\Program Files\Microsoft Visual Studio 9.0\VC\include\vectorの中では、手のつけようがありません。 どなたかアドバイスお願いします。