如何在C ++中将unsigned int(指针)转换为const char

时间:2014-11-06 10:18:29

标签: c++ c casting unsigned-integer

如何将unsigned int(UINT32)转换为const char。

我试图将它转换为但是因为当指针大于预期时,不是类型安全的会崩溃。

那么我该如何正确处理呢?

    unsigned int p = 0x32422342;
    strLocation = QString::fromUtf8((char*)p, sizeof(p));

BTW如果我离开演员阵容,编译器会出现异常:

cast to `const char*`from smaller integer type `UINT32` (aka `unsigned int`) [-Wint-to-pointer-cast]

有什么建议吗?该值只是一个随机数,只是为了澄清。

1 个答案:

答案 0 :(得分:1)

你的指针大概是64位长,这就是你的编译器抱怨的原因......你确定你的32位代表一个好的地址吗?可能不是。