1
嗨 我正在使用pugixml來處理xml文檔。我經歷的節點可以使用這種結構如何將pugi :: char_t *轉換爲字符串
pugi::xml_node tools = doc.child("settings");
//[code_traverse_iter
for (pugi::xml_node_iterator it = tools.begin(); it != tools.end(); ++it)
{
//std::cout << "Tool:";
cout <<it->name();
}
的問題是,它 - >名稱()返回pugi :: char_t迭代*,我需要將其轉換成的std :: string。可能嗎 ??我找不到
我不是這些編譯器宏的粉絲。提供一個身份超載的as_wide(wchar_t *)'和'as_utf8(char *)'是否會更好,以便根據設置自動選擇正確的超載? – 2011-08-21 20:17:30
定義「正確的過載」。正如你在上面看到的,不清楚你是否想要一個'std :: string'或一個'std :: wstring';你不能在返回類型上重載,並且你不能指望圖書館能夠推測你想要的。 – 2011-08-21 20:19:09
'as_wide'總是返回'wstring','as_utf8'總是返回'string'。我們只是重載參數類型,即使在沒有任何事情的情況下也可以工作。 – 2011-08-21 20:20:02