Я пытаюсь прочитать в файле, что должен содержать только цифры в нем. Я могу успешно прочитать во всем файле, если он отвечает этим критериям, но если в нем так получилось письмо, мне нужно вернуть false с помощью оператора ошибки.C++ Чтение в файле только с номерами (удваивается)
Проблема заключается в том, что мне сложно найти ошибку, когда она находит этот символ. Он не может найти его без проблем, но когда он это делает, он решает просто пропустить его.
Мой код для чтения в файл и попытаться прочитать только цифры:
bool compute::Read (ifstream& stream)
{
double value;
string line;
int lineNumber = 1;
if (stream)
{
while (getline(stream, line))
{
lineNumber++;
istringstream strStream(line);
while (strStream >> value)
{
cout << value << endl;
}
}
}
return true;
}
Входной файл, который я использую для этого
70.5 61.2 A8 10.2
2
Обратите внимание, что существует не номер в моем входном файле. Он должен потерпеть неудачу и вернуть false в этот момент.
В настоящее время все, что он делает, это когда оно попадает в «A», оно просто возвращается к следующей строке, продолжая цикл getline while.
Любая помощь с этим была бы высоко оценена.
Давайте будем ясны. Файл не содержит 'doubleles', или если вы его читаете в двоичном формате. Он содержит * действительные числа * в текстовом формате, которые вам нужно * конвертировать * в 'double.' – EJP
В вашем коде не содержится никаких инструкций по остановке и возврату false ... –
@EJP Он содержит двойные символы, они представлены как текст. – CashCow