此代码假设只接受数字,并且数字必须正好是 12 个数字。第一个有效,但后者无效。用户输入 13 个数字,但没有显示错误。
std::string line;
double d;
while (std::getline(std::cin, line))
{
std::stringstream ss(line);
if (ss >> d || line.size() == 12)
{
if (ss.eof())
{ // Success
break;
}
}
std::cout << "Error!" << std::endl;
}
请问有人可以帮我解决这个问题吗?提前致谢。