-3

重複の可能性:
C ++コンソールアプリケーションがすぐに終了しないようにするにはどうすればよいですか?

ユーザーから入力ファイルを収集するためにfstreamを使用しています。残念ながら、コンソールは短時間しか表示されません。

string filename;
cout << "input file" << endl ;

getline(cin,filename);

ifstream inputfile;
inputfile.open(filename);

char file_character ;
int counter = 0;

while (inputfile>> file_character) {

    inputfile.get(file_character);
    cout << file_character;

    //not what I'm totally doing but instead a quick example
    if (file_character == 'a')
    {
        counter++;
    }
}
cout << counter << endl;
inputfile.close();
return 0;

入力ファイルからすべての文字を読み取り、これらの各文字に対していくつかのチェックを行う必要があります。コンソールが開いたままにならないのはなぜですか?

4

2 に答える 2

1

コンソールからプログラムを起動してみることができます。または、終了する前にプログラムを一時停止することもできますmain。たとえば、ユーザーが文字を入力するのを待つか、数秒の遅延時間を設定できます。

ちなみに、プログラムにバグがあります。while (inputfile >> file_character)すでに文字を変数に読み込んでいるので、あなたが行くとinputfile.get(file_character)もう一度読んで、入力の半分を失います。

于 2012-12-18T13:37:02.670 に答える
0

Windowsを使用すると、プログラムが終了するとコンソールが閉じます。

プログラムの最後に追加system("Pause");すると、終了する前にキーを押すように求められます。

ユニバーサルソリューション(どのシステムでも機能します)は、std::getchar();Windows専用の代わりに使用してユーザーからcharを読み取ることです。system("pause");

于 2012-12-18T13:27:43.090 に答える