-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 独占system("pause");

于 2012-12-18T13:27:43.090 回答