Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 将字符串转换为u_字符*_C++_String_Pointers_Char - Fatal编程技术网

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())