cin.ignore不工作是一个常见的问题,通常是由于以下原因导致的:
#include <iostream>
int main() {
int num;
std::cout << "请输入一个数字:";
std::cin >> num;
// 清除错误标志位
std::cin.clear();
// 清除输入缓冲区中的残留内容
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cout << "输入的数字是:" << num << std::endl;
return 0;
}
#include <iostream>
int main() {
int num;
std::cout << "请输入一个数字:";
std::cin >> num;
// 读取并丢弃换行符
std::cin.get();
// 清除输入缓冲区中的残留内容
std::cin.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
std::cout << "输入的数字是:" << num << std::endl;
return 0;
}
cin.ignore()函数的参数说明:
请注意,以上只是一种通用的解决方案,具体解决方法可能因编译器或环境的不同而有所差异。在某些特定情况下,可能需要进一步排查代码逻辑或检查其他可能导致该问题的原因。
领取专属 10元无门槛券
手把手带您无忧上云