web-dev-qa-db-ja.com

プログラムがCで実行された後、コンソールが閉じないようにするにはどうすればよいですか?

重複の可能性:
コンソールの終了の問題に対処するためのベストプラクティスは何ですか?

プログラムがCで実行された後、コンソールが閉じないようにするにはどうすればよいですか?それを検索しようとすると、C++や他の言語に関するものがたくさん見つかりますが、Cについては何も見つかりません。また、C++についても、決定的な答えはないようです。

では、Cプログラムの実行が完了した後、コンソールを開いたままにする最も簡単な方法(非常にエレガントである必要はありません)を誰かに教えてもらえますか?

10
Adam
  • プログラムを直接実行するのではなく、コマンドラインから実行します。

  • Visual C++ではCtrl + F5。

17
AraK

これまでの回答はすべて、コンソールアプリを呼び出して、基本的に「実行中」のままにし、ユーザー入力が終了するのを待つことを前提としています。これが正しい仮定である場合、GManの答えに+1します。ただし、ショートカット、[スタート]-> [ファイル名を指定して実行]、またはその他のメカニズムからこのコンソールアプリを呼び出す方法を尋ね、cmdウィンドウを開いたままにする場合は、_cmd.exe_自体を介して_/k_オプションのように:

_cmd.exe /k "foo.exe"
_

これにより、cmdウィンドウが起動し、コンソールアプリが実行されてから、cmdウィンドウが開いたままになります。これは上記の@Thanatosに対処します。彼は、コンソールアプリを閉じる必要があるという点で正しいです。繰り返しますが、私にとって、最終目標がどうあるべきかをあなたが本当に求めているのかははっきりしていません。

私が間違った仮定をした場合は、私に-1してください。

17
nithins

コンソールアプリケーションは、コンソールから実行することを目的としています。これを行うと、実行後にコンソールウィンドウが表示され、プログラムの出力を簡単に表示できます。

getchar()のようなものを使用して、アプリケーションにキーが押されるのを待つように強制できます。

10
GManNickG

コンソールを閉じます。

プログラム内でコンソールを閉じることを禁止すると、プログラムの自動化が困難になったり、プログラムの入力形式がおかしくなったりします。

代わりに、最初にプログラムを実行しているものを修正して、最初にターミナルウィンドウを閉じないようにします。これがMSVisual Studioの場合は、F5(デバッグなしで開始)を試してください。デバッグが必要な場合は、プログラムの最後にブレークマークを付けてください。それ以外の場合は、コマンドプロンプト/ターミナルを開き、そこでプログラムを自分で実行します。

0
Thanatos

プログラムの最後でgetch()を使用できます。もう1つの方法は、プログラムをデバッグし、プログラムの終了前にブレークポイントを配置することです。

0
Kevin

1)IDEは、プログラムが開始する前にコンソールを開きます。
2)プログラムが終了します
3)IDEコンソールを閉じます

a)コンソールを閉じないようにIDEに指示するだけです...または
b)プログラムを終わらせないでください。

a)それを行う方法がわからない。
b)プログラムの追加を終了するために使用されるreturn 0;の直前

printf("Press ENTER a few times to terminate the program");
fflush(stdout);
getchar(); getchar(); getchar(); getchar();
getchar(); getchar(); getchar(); getchar();
return 0;
0
pmg