• ベストアンサー

C++プログラム最後まで表示できません

かけだしです。VisualC++.NET2003,WindowsXP SP2 Win32projectのコンソールアプリケーション空のプロジェクトにての作成です。 簡単な文字列をキーを押すごとに順番で10種類ぐらいずつ表示するプログラムを始めて作ったのですが、プロジェクトを開き「ビルド」→「ソリューションのビルド」→「デバックなしで開始」すると最後の表示までいくのですが、出来上がったファイル(「デバック」内の実行ファイル)をデスクトップに落として実行すると最後のワンステップ前で消えてしまいます。なぜだかわかりません。よろしくお願いします。

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

  • ベストアンサー
  • ceita
  • ベストアンサー率24% (304/1218)
回答No.1

コンソールアプリケーションですか? コンソールで実行すると、 プログラムの実行終了と同時にウィンドウが閉じます。 そのため、表示より早く閉じてしまうのだと思います。 プログラム内で、最後にキー入力待ち等をつくればよいのではないでしょうか。

zuita88
質問者

お礼

ありがとうございました。おかげで解決できました。自分で納得がいきました。最終行に    …    …    cin>>res;    if(res==0)  return 0; } を加えました。まだまだ未熟者ですがまたよろしくお願いします。

関連するQ&A

  • リリースビルドの作成

    VisualC++ 2005 Express Editionを使って、C言語の簡単なプログラムを作りました。コンパイルの際に出てくるエラーや警告は一切ない(デバッグモード、リリースモード両方)のですが、このリリースビルドをVC++をインストールしていないPCで実行しようとすると、「指定されたプログラムは実行できません。」と出て実行できません。コンパイルに使ったPCでは実行できます。 リリースビルドを作成の際、ツールバーにある"Debug"を"Release"に切り替えて、ソリューションをビルドしました。プロジェクトはWin32コンソールにして、空のプロジェクトから始めました。 なぜ、バイナリが実行できないのでしょうか? そもそも、リリースビルドの作成法はこれでいいのでしょうか?

  • Visual C++ 2010 について

    プログラミングを始めようとVisual C++ 2010をインストールしました。 さっそく新規作成→プロジェクト→全般→空のプロジェクト→Sample01でファイルを作りました そのあと追加→新しい項目→コード→C++ファイル→Sample01.cとしてソースコードを次のように入力しました #include <stdio.h> {    int main(void) printf("ようこそ"\n"); return 0: } このあとソリューションのビルドをしてからデバック開始をしたら、一瞬コマンドプロンプトが開いたと思ったらすぐ閉じてしまいます。 学校の課題をやりたいの出来ません 泣 回答よろしくおねがいします!!

  • Visual C++でC言語の基礎学習

    Visual C++を使ったC言語についての質問です。 (アプリケーションの作成ではなく、コマンドプロンプト上で起動する基礎的な文法の学習です) Win32コンソール プロジェクトを作成し、そのプロジェクトの中でCのソースファイルを作成して実行確認をしようと思っています。 プロジェクト内のソースファイルが1つだけだと正常にビルドできますが、2つ以上のソースファイルを作成してビルドすると 「1 つ以上の複数回定義されているシンボルが見つかりました。」 というエラーがでてしまい、実行することができません。 新たにWin32コンソール プロジェクトを作成し、その中でソースファイルを作成しなければ実行できないのでしょうか? よろしくお願いします。

  • VS2012 C# バイナリが32bitで動作固定

    文字数制限のため、わかりづらいタイトルになってしまいました。 Windows 7 64bit版のOSにてVisual Studio 2012 for Windows Desktopを 使っています。言語はC#です。 デフォルトでコンパイルしたバイナリが64bit環境にもかかわらず32bitで 動作してしまうので、理由を知りたいです。 手順 1.コンソールやフォームのプロジェクトを新規作成して、ソリューション構成を 「Release」にします。ソリューションプラットホームは「Any CPU」であることを 確認します。 2.コンソールの場合、すぐ終わらないようにMain関数に「Console.ReadKey();」等を 記述します。 3.「すべてを保存」して、「ソリューションのビルド」をします。 4.コンパイルしたバイナリを直接実行すると、「32bitで動作」してしまいます。 5.プロジェクトの「対象のフレームワーク」を「.NET Framework 4」にします。 6.ビルドして実行すると、「64bitで動作」しています。 7.プロジェクトの「対象のフレームワーク」を「.NET Framework 4.5」に戻します。 6.ビルドして実行すると、「64bitで動作」しています。 手順中の 6. と 8. にて「64bitで動作」することは理解できるのですが、4. にて 「32bitで動作」する理由がわかりません。こちらの原因をお教えいただけると 助かります。

  • Cの初歩の初歩について

    現在、「Visual studio.Net2003」を使っています。 まだはじめて日が浅くBasicの方もやっていたのですがCの開発環境を作ろうとしたのですが作れません。 過去の履歴を読んで見たのですがまだ用語などよくわからず同じような質問があれば大変申し訳ないのですが、 VisualC++プロジェクト     ↓ win332プロジェクト     ↓ (アプリケーションの設定) コンソールアプリケーション     ↓ 空のプロジェクト ときて、「新しい項目の追加」で VisualC++ ↓ C++ファイル(cpp) が表示されません。 ファイル名の拡張子を.cにしてやってみましたが今度は デバッグを開始できません。 「(プロジェクトが入っているフォルダ)***.exeを開けません。 指定されたファイルが見つかりません。」 となってしまいます。 PCを変えて初めてCをやろうと思ったらこうなってしまいました。Basicの方は問題ありません。 どうすればCの開発環境はできるのでしょうか? OSはwindows2000Pro(SP4すべてアップデート済みです)。 長文と読みにくい文、失礼しました。 よろしくお願いします。

  • 他人のプログラムを実行すると、「実行できません」のエラーが出ます

    VisualC++初心者です。 移植のため、他人のプログラムをそのまま貰って解析しろと言われています。 ところが、そのままビルドして実行しても、ビルドでエラーは出ないのですが、「プログラムを実行できません」メッセージが出てしまいます。ステップ実行しようとすると、「*.exeファイルが見つかりません。」エラーが出ます。 リソースでSDIのDialogBoxを持っていますが、ソースはすべて拡張子.cで.cppファイルは有りません。 とっかかりが掴めず困っています。 どうすれば実行できるようになるでしょう?

  • Win32 コンソールアプリケーション

    VisualC++ 2010 Express を利用して、C++を学んでいます。 Win32 コンソールアプリケーション でプロジェクトを作成しました。 最初に用意されたテンプレート(?)に、  printf("%s\n", "Hello World!"); を追加して、実行してみたのですが、「Hello World!」がどこにも表示されませんでした。 ソリューション(プロジェクト?)が保存されているフォルダへ移動して、 exe形式の実行ファイルがあったので、これを実行してみましたが、すぐに画面が消えてしまいます。 コマンドプロンプトを起動して、↑のexeを実行したところ、「Hello World!」が表示されました。 ★ いちいちこの手順を踏むのが非常に面倒なのですが、Visual C++ 内で完結できないでしょうか? 以上、よろしくお願いします。

  • VisualStudio2003でDLLのデバックをブレークポイントやステップインで行う方法を具体的に教えて下さい。

    VisualStudio2003でDLLのデバックをブレークポイントやステップインで行う方法を具体的に教えて下さい。DLLのプロジェクトは、もうひとつのexeファイルと合わさって、1つのソリューションを構成しています。現状では、デバックを実行しようとすると、”デバック情報がありません”というダイアログボックスが開き、ブレークポイントの丸の上には、?が表示されます。

  • Xcode3.2でC言語を書く方法

    プログラミング初心者です。 Xcode3.2でC言語の練習をしようと思い、新規プロジェクトから空のプロジェクトを選び、C言語の新規ファイルを作ってそこにコードを書いてみたのですが、「ビルドと実行」アイコンがアクティブにならず押せません。 どうすればコードを実行できるのでしょうか。 非常に初歩的な質問だと思いますがよろしくお願いします。

    • ベストアンサー
    • Mac
  • eclipse 3.4xで複数メソッドからなるCプログラムを作りたいのですが…

    eclipse3.4xでCDTプラグインを導入しC言語でプログラミングをし実行したいと思っているのですが、 インターネットで調べ、いろいろ試行錯誤したところ、 mainメソッドのみのプログラムでは実行しコンソールに正しく表示されるようになりました。 しかし、ソース内に複数のメソッドを定義すると、コンパイルは成功するのですが、コンソールに何も表示されません。 具体的にメソッドを説明すると、最初に 2つの正整数を入力してください: と表示させ、二つの数字をスペースで区切り入力→エンターキー すると二つの変数に代入され、その変数を引数としてgcd(int,int)メソッドで最大公約数を返し、 最大公約数は~です と表示させるプログラムです。 つまり本来なら最初に、2つの正整数を入力してください: と表示されるはずが何も表示されないということです。 しかし、何も表示されていないコンソールに二つの数字をスペースで区切り入力→エンターキー とし、コンソール右上の終了ボタンを押すと、すべてのコンソールが一気に表示されます。 このエラーはどうすれば回避できるでしょうか? 環境は、 OS:WindowsXP sp3 メモリ:2GB CPU:intel Core2 Duo eclipse:Eclipse SDK 3.4.1 Build id: M20080911-1700 plugin :CDT一式 コンパイラ:Cygwin,MinGW ソフトウェアもプラグインも最新の物に更新済みです。 ちなみにプロジェクトは、 新規→Cプロジェクト→実行可能.空のプロジェクトでツールチェーン.Cygwin で作成しプロパティで、自動でmakefileを作成 にチェックを入れます。 まだCを始めばかりなのでmakefile,ヘッダなどの難しい事はわかりません。 プログラムの内容も初歩の初歩のプログラムを大量に作って練習中です。 ↑の方法以外では実行できなかったので↑の方法でプログラムを作っています。 エラーの対処方法と同時に、 eclipseでC言語をするためのわかりやすい日本語の解説サイトを知っている方がいたら 教えて下さい。 よろしくお願いします。

専門家に質問してみよう