【发布时间】:2018-09-18 19:21:51
【问题描述】:
我要转换:
一个简单的
unsigned char []到string然后再转为无符号字符
这是我的代码:
// This is the original char
unsigned char data[14] = {
0x68,0x65,0x6c,0x6c,0x6f,0x20,0x63,0x6f,0x6d,0x70,0x75,0x74,0x65,0x72,
};
// This convert to string
string str(data, data + sizeof data / sizeof data[0]);
// And this convert to unsigned char again
unsigned char* val = new unsigned char[str.length() + 1];
strcpy_s(reinterpret_cast<char *>(val), str.length()+1 , str.c_str());
问题出在第二部分,它不会像以前那样将字符串转换为无符号字符。我认为this img from locals in debug 有帮助
【问题讨论】:
-
它works。到底是什么问题?
-
val确实包含data的副本。 Visual Studio 的调试窗口只是没有将其显示为数组。如果您将val,14添加到您的监视列表中,它将显示为一个数组。 -
@KompjoeFriek 谢谢我现在看到了,我想在某个地方使用
val,它必须与data完全一样
标签: c++ converter unsigned-char