【发布时间】:2019-08-11 03:50:52
【问题描述】:
我的项目我有一个结构,它有一个unsigned int array(uint8_t) 类型的成员,如下所示
typedef uint8_t U8;
typedef struct {
/* other members */
U8 Data[8];
} Frame;
收到一个指向Frame 类型变量的指针,在调试期间我在 VS2017 的控制台中看到它如下所示
/* the function signatur */
void converter(Frame* frm){...}
frm->Data 0x20f1feb0 "6þx}\x1òà... unsigned char[8] // in debug console
现在我想将它分配给一个 8 字节的字符串
我像下面那样做了,但它连接了数组的数值并导致类似"541951901201251242224"
std::string temp;
for (unsigned char i : frm->Data)
{
temp += std::to_string(i);
}
还尝试了const std::string temp(reinterpret_cast<char*>(frm->Data, 8));,它会引发异常
【问题讨论】:
-
你看过thisreinterpret_cast 应该是
char const*
标签: c++ visual-c++ stdstring unsigned-char uint8t