проверить символ строки и длину

Предполагается, что этот код принимает только цифры, а цифры должны быть ровно 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;
}

Пожалуйста, кто-нибудь может помочь мне с этим, чтобы заставить это работать? Заранее спасибо.

0

Решение

Пытаться а также вместо или же:

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

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector