0

我有两个功能

foo(const string &value)
{
  bar(...)
}

bar(const u_char *value, size_t len)
{
  // do something
}

如何将 const 字符串转换为 u_char *?我相信我可以使用 sizeof() 函数获得 size_t 。

非常感谢帮助。

4

3 回答 3

2

从字符串到 char* 的转换是通过使用c_str().

关于u_char转换,我认为没有什么不同。

这将对您有所帮助:MSDN 字符串转换

于 2012-04-18T02:36:19.583 回答
1

c_str()您可以使用函数获取 std::string 的 c 样式字符串表示。只需调用bar((u_char)value.c_str(),value.length()). 签名对于 c 风格的字符串应该无关紧要。

于 2012-04-18T02:34:34.537 回答
1

bar可以如下调用(假设u_char是某种char):

bar(reinterpret_cast<u_char const*>(value.c_str()), value.size())
于 2012-04-18T02:35:27.357 回答