使用用户提示的输入文件,输出控制台在显示时立即关闭

时间:2012-12-18 13:24:27

标签: c++ io ifstream

  

可能重复:
  How to stop C++ console application from exiting immediately?

我正在使用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;

我需要读取输入文件中的每个字母,并对每个字符进行一些检查。为什么我的控制台不能保持打开状态?

2 个答案:

答案 0 :(得分:1)

您可以尝试从控制台启动程序。或者,您可以在退出main之前暂停程序:例如,您可以等待用户输入字符,或设置几秒钟的时间延迟。

顺便说一句,你的程序中有一个错误。 while (inputfile >> file_character)已经在变量中读取了字符,所以当你转到inputfile.get(file_character)时,你会再次阅读,从而失去一半的输入。

答案 1 :(得分:0)

使用Windows,控制台会在程序退出时关闭。

在程序结束时附加system("Pause");,它会在退出前提示按下一个键。

通用解决方案(适用于任何系统)是使用std::getchar();代替Windows system("pause");

从用户读取字符