可能重复:
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;
我需要读取输入文件中的每个字母,并对每个字符进行一些检查。为什么我的控制台不能保持打开状态?
答案 0 :(得分:1)
您可以尝试从控制台启动程序。或者,您可以在退出main
之前暂停程序:例如,您可以等待用户输入字符,或设置几秒钟的时间延迟。
顺便说一句,你的程序中有一个错误。 while (inputfile >> file_character)
已经在变量中读取了字符,所以当你转到inputfile.get(file_character)
时,你会再次阅读,从而失去一半的输入。
答案 1 :(得分:0)
使用Windows,控制台会在程序退出时关闭。
在程序结束时附加system("Pause");
,它会在退出前提示按下一个键。
通用解决方案(适用于任何系统)是使用std::getchar();
代替Windows system("pause");