【发布时间】:2010-02-25 11:35:18
【问题描述】:
我正在为 c++ 使用 boost 库,函数 lexical_cast 的行为非常奇怪。如果我做 lexical_cast("0.07513994") 它工作正常,但如果我使用我需要转换的变量,它会抛出 bad_lexical_cast 异常。代码如下:
string word;
istringstream iss(line);
do
{
string word;
iss >> word;
double x;
x = lexical_cast<double>(word);
cout << x << endl;
} while (iss);
我在这里做错了什么?感谢您的帮助,谢谢
【问题讨论】:
-
请显示流中的完整输入。
-
line的实际值是多少?如果转换失败,它
lexical_cast将抛出。在调用词法转换之前检查word的字符串值,您可能会发现它不是您认为的那样。 -
可能是该行以
\n之类的空格结尾吗?
标签: c++ boost lexical-cast