我有0x48656c6c6f
每个字节代表字符串中每个字符的 ASCII 值的十六进制值"Hello"
。我还有一个char
要插入这些值的数组。
当我有一个较小的十六进制值(例如,0x48656c6c
代表"Hell"
)时,打印出char
数组会给出正确的输出。但是下面的代码打印"olle"
(小端)但不是"olleH"
. 为什么是这样?
#include <iostream>
#include <cstring>
int main()
{
char x[6] = {0};
int y = 0x48656c6c6f;
std::memcpy(x, &y, sizeof y);
for (char c : x)
std::cout << c;
}