检查字符串字符和长度

时间:2012-12-07 19:00:37

标签: c++ std eof

此代码假设只接受数字,数字必须正好是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;
    }

请有人帮我这个让它运作起来吗?提前谢谢。

1 个答案:

答案 0 :(得分:4)

尝试,而不是

if (ss >> d && line.size() == 12)