Я использую boost libs для C++, и функция lexical_cast ведет себя действительно странно. Если я делаю lexical_cast («0.07513994»), он отлично работает, но если я использую свою переменную, которую мне нужно преобразовать, она выдает исключение bad_lexical_cast. Вот код:boost lexical_cast throws exception
string word;
istringstream iss(line);
do
{
string word;
iss >> word;
double x;
x = lexical_cast<double>(word);
cout << x << endl;
} while (iss);
Что я здесь делаю неправильно? Я ценю любую помощь, спасибо
Просьба показать полный ввод, который находится в потоке. –
Какова фактическая стоимость линии? Он 'lexical_cast' будет бросать, если он не сможет преобразовать. Проверьте строковое значение 'word' перед вызовом лексического актера, и вы, вероятно, обнаружите, что это не то, что вы считаете. –
Может ли быть, что строка заканчивается пробелом типа '\ n'? –