2

minGWとEclipseCDTをインストールしましたが、コンソールが奇妙なことをし続けています。プログラムのコードは

using namespace std;
#include <iostream>

int main() {
    cout << "Hello, windows (8, c++)" << endl;
    //system("PAUSE");
    return 0;
}

皆さんご存知のとおり、HelloWorldプログラムです。これを実行すると、Eclipseコンソールにビルドに関する情報が表示され、空白になります。また、エクスプローラーでHelloWorldProgram.exeに移動して実行すると、ウィンドウが点滅して「hello world」と表示されますが、すぐに閉じます。Mac OSXでこれを行う場合、問題はなく、ウィンドウを閉じるまでウィンドウは開いたままになります。今、私はコマンドがあることを知っています

system("PAUSE") //I dont know what I need to import to use this. Could you tell me that too?

これは多かれ少なかれ同じ効果をもたらしますが、WindowsがOSXとは異なる方法でそれを行う理由と、それを修正するために何ができるかを知りたいです(bcこれは私からのがらくたを悩ませます)。お返事をお待ちしております!

4

4 に答える 4

2

これは Windows コンソールの動作であるため、Windows で発生します。プログラムの実行後にウィンドウを自動的に閉じたくない場合は、手動でコンソールを開き、開いたコンソールからプログラムを実行する必要があります。

あなたはこれらを見てみたいかもしれません:

コンソールが閉じる問題に対処するためのベスト プラクティスは何ですか?

https://superuser.com/questions/186562/how-can-i-keep-the-terminal-open

于 2012-12-26T18:44:48.003 に答える
1

は使用しないでくださいsystem("pause")。さまざまな理由で間違っています (詳細については、こちらを参照してください)。

cin.get()前に置くreturnと、Enter キーを押すまでウィンドウが開いたままになります。

于 2012-12-26T18:45:25.673 に答える
1

コンソール プログラムを実行するだけの場合は、コンソールを開いて実行する必要があります。

どうやら、OSX バージョンの Eclipse は、コンソールを開いてプログラムを実行し、閉じないように構成されているようです。おそらく、Win バージョンもそのように構成できます。

別のプラットフォームで異なる動作をするためにプログラムをいじる必要はありません。代わりに、動作を「適応させる」ものにプログラムをラップしてください。

おそらく、eclipse に " cmd /c 'yourprogram.exe && pause'" を使用してコマンド ウィンドウを開き、プログラムを実行してから一時停止するように指示できます。

于 2012-12-26T18:46:02.647 に答える