将const Byte *转换为std :: string c ++

时间:2013-03-13 09:31:15

标签: c++ visual-c++

如何将const Byte *转换为std :: string。我尝试了以下

std::string sTemp(reinterpret_cast<const char*>(ByteBuffer));

其中ByteBuffer是const Byte *。使用上面的代码没有在sTemp中获得ByteBuffer的值 请帮忙

谢谢,

2 个答案:

答案 0 :(得分:2)

如果ByteBuffer包含以NUL结尾的字符串,则代码应该可以正常工作。

如果没有,则需要将其长度作为string constructor的第二个参数提供。

以上假设Byte是我认为的,ByteBuffer不是NULL

答案 1 :(得分:0)

C ++中没有'Byte'这样的数据类型。我认为它是一个8位数据存储,如果它存在,在这种情况下你的代码是正确的。确保缓冲区中有一个空字符 - '\ 0'。