pugi::char_t* to const char*
pugi::char_t* to const char*
SO
上有一些非常相似的问题:如何将 pugi::char_t* 转换为字符串
我一直在为这个问题而苦苦挣扎一段时间,作为初学者,除了在这里问之外,我真的不确定还能做什么,所以如果这算作重复,我很抱歉。
pugi::xml_node actors = source_file.child("scene").child("actors");
std::vector<const char*> actor_db;
for (pugi::xml_node actor = actors.first_child(); actor; actor = actor.next_sibling())
{
const char *a = *actor.child_value();
actor_db[actor.attribute("id").as_int()] = a;
}
类型为"pugi::char_t"的值不能用于初始化类型为"const char *"的实体
行 const char *a = *actor.child_value(); 是我尝试将 const char_t* xml_node::child_value() 的返回值转换为 const char* 的糟糕尝试。
我希望 actor.child_value() 的值存储在常量字符* 中,然后放入向量actor_db。
pugi::char_t 是一种字符或wchar_t的类型,具体取决于配置。我已经设置了它,以便 pugi::char_t 将是一个字符。
我知道这可能是一个简单的错误,但即使我进行了广泛的搜索和类似的 SO 问题,我仍然无法解决我的问题。
我希望 actor.child_value() 的值存储在常量字符* 中,然后放入向量actor_db。
不,你没有。唯一可以存储在const char*
中是字符数组的位置。它实际上不是一个字符串,而是一个指向字符串的指针。指针容器充满了问题。
存储一个std::vector<std::string>
,然后使用您链接到的问题的答案1 中的代码来获取std::string
。
1 奇怪的是,我刚刚注意到我几年前写的。 :D
相关文章:
- 如何解决"invalid conversion from 'char' to 'const char*'"
- Writing Char to Arduino EEPROM
- memcpy unsigned char to int
- 如何修复C++中的'cannot convert char to char*'错误?
- 返回"Cannot convert from 'std::ofstream {aka std::basic_ofstream<char>}' to bool"错误
- 使用strupr和strlwr时如何解决错误"invalid conversion of char to char*"?
- C++ cast char * to unsigned char
- Char to Int - C++
- Qt char* to QString
- 找不到错误"invalid conversion from char to const char*"的解决方案
- nameless char[] to std::string& reference
- atoi() - from char to int
- Unicode const char* to JString using JNI and C++
- 了解错误"error: cannot convert ‘char**’ to ‘const char*’ for argument ‘1’ to ‘double atof(const char*)’"
- const char* to LPCWSTR in Qt
- "incompatible types in assignment of 'char' to 'char'[100]"我使用的是 strcat 对吗?
- const char * to vector<unsigned char> Initalisation
- c++ const char* to char*
- 引起'Cannot convert from const char * to char *'
- char to char* issues