使用wcstod()转换为我从XML文件中读取的数字类型文本数据:
double x;
BSTR name;
MSXML::IXMLDOMNodeListPtr theList;
MSXML::IXMLDOMNodePtr theItem;
//Some XML API here...
theItem = theList->Getitem(0);
theItem->get_text(&name);
x = wcstod(name,NULL);
问题是这个函数在失败时返回NULL,但有时候我想读取并转换有效字符串L" 0"。 这有解决方法吗?
答案 0 :(得分:1)
您可以使用std::stod
,如果函数失败,将抛出异常。
确保NULL
初始化为Getitem
。添加get_text
和#include <string>
BSTR name = nullptr;
...
double x = 0;
if(name)
{
try
{
x = std::stod(name);
}
catch(...)
{
//error ...
}
}
{{1}}