解决方法
~在程序返回前添加
std::cin.clear(); // 清除所有错误标志,把所有状态设置为有效值
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n'); // 忽略所有字符直至遇到\n(包括这个\n),所以需要输入两次程序才会返回
std::cin.get(); // 获取一个用户输入的字符
~在return之前添加(Windows下可用)
system("pause");
一些小补充
//ignore原型
istream &ignore( streamsize num=1, int delim=EOF );
作用是忽略输入流中任意n个字符(默认为1个),或遇到指定字符结束(默认为eof标识)(包括该字符)
使用示例:
char str[10];
cin.ignore(5,'d');
cin.getline(str, 10);
cout << str << endl;
//输入abcdefghi 输出efghi