我对C++使用boost库,函数lexical_cast的行为真的很奇怪。如果我做lexical_cast(“0.07513994”),它工作正常,但如果我使用我需要转换的变量,它会抛出bad_lexical_cast异常。下面是代码:boost lexical_cast抛出异常
string word;
istringstream iss(line);
do
{
string word;
iss >> word;
double x;
x = lexical_cast<double>(word);
cout << x << endl;
} while (iss);
什么我错在这里做什么?我很感谢任何帮助,谢谢
请显示流中的完整输入。 – 2010-02-25 11:38:58
线的实际价值是多少?它''lexical_cast'会抛出,如果它无法转换。在调用词法转换之前检查“word”的字符串值,您可能会发现它不是您所相信的。 – 2010-02-25 11:39:06
它可能是行结尾像'\ n'这样的空格吗? – 2010-02-25 11:51:29