我有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;
}