【发布时间】:2014-03-18 10:12:00
【问题描述】:
我在这里有一个非常基本的问题。我尝试了一段时间的谷歌搜索,因为有很多类似的问题,但没有一个解决方案适合我。
这里有一段代码 sn-p 说明问题:
QString test = "hello";
unsigned char* test1 = (unsigned char*) test.data();
unsigned char test2[10];
memcpy(test2,test1,test.size());
std::cout<<test2;
我尝试将 QString 放入 unsigned char 数组中,但是 我得到的输出总是'h'。
谁能告诉我这里出了什么问题?
【问题讨论】:
-
请注意,QChar 是一个 16 位的东西,存储一个 Unicode 代码点。对于“h”(任何 US-ASCII),高位字节将为 0。这解释了为什么您的输出仅显示“h”。
-
@laune 谢谢。我不知道。
标签: c++ arrays qt qstring unsigned-char