C++ 将字符串转换为u_字符*
我有两个功能C++ 将字符串转换为u_字符*,c++,string,pointers,char,C++,String,Pointers,Char,我有两个功能 foo(const string &value) { bar(...) } bar(const u_char *value, size_t len) { // do something } 如何将常量字符串转换为u_char*?我相信我可以通过使用sizeof()函数获得大小 非常感谢你的帮助 您可以使用c_str()函数获取std::string的c样式字符串表示形式。只需调用bar((u_char)value.c_str(),value.length())。
foo(const string &value)
{
bar(...)
}
bar(const u_char *value, size_t len)
{
// do something
}
如何将常量字符串转换为u_char*?我相信我可以通过使用sizeof()函数获得大小
非常感谢你的帮助 您可以使用
c_str()
函数获取std::string的c样式字符串表示形式。只需调用bar((u_char)value.c_str(),value.length())
。签名性对于c样式字符串不重要。您可以使用c\u str()
函数获得std::string的c样式字符串表示形式。只需调用bar((u_char)value.c_str(),value.length())
。签名性对于c样式的字符串不重要。bar
可以如下调用(假设u\u char
是某种char
):
bar(reinterpret\u cast(value.c\u str()),value.size())
bar
可以按如下方式调用(假设u_char
是某种char
):
bar(reinterpret\u cast(value.c\u str()),value.size())
使用c_str()
完成从字符串到字符*的转换
关于u_char
转换,我认为没有什么不同
这将帮助您:使用c\u str()
完成从字符串到字符*的转换
关于u_char
转换,我认为没有什么不同
这将帮助您:uchar
和u_char
之间有什么区别吗?它们都是无符号char
的类型别名?对不起,我指的是u_char而不是uchar。我编辑了代码。我不相信有这样的事情,如uChar。@ USE131438:在C++标准中没有“<代码> uyChar < /Cord>”这样的东西。确切地说,u\u char
类型是什么?uchar和u\u char
之间有什么区别吗?并且都是unsigned char
的类型别名?对不起,我指的是u\u char而不是uchar。我编辑了代码。我不相信有这样的事情,如uChar。@ USE131438:在C++标准中没有“<代码> uyChar < /Cord>”这样的东西。确切地说,u\u char
类型是什么?这是不正确的,因为bar
采用u\u char常量*
,而不是u\u char
。很抱歉,我错误地假设u\u char
与无符号字符
相同,这是不正确的,因为bar
采用u\u char常量*/code>,不是u\u字符
。抱歉,我错误地认为u\u字符
与未签名字符
相同。是的,谢谢!我一分钟前在看字符串api时发现了这一点。此外,我需要将结果键入(u_char*)是的,谢谢!我一分钟前在看字符串api时发现了这一点。此外,我还需要将结果类型转换为(u_char*)
bar(reinterpret_cast<u_char const*>(value.c_str()), value.size())