我正在尝试使用 memset
单独设置无符号短整型变量中的字节:
#include <cstring>
#include <iostream>
int main()
{
unsigned short test2; // 2 bytes
std::cout << "size of test2: " << sizeof(test2) << std::endl;
memset(&test2, 0, 2);
memset(&test2, 0x4D, 1);
memset(&test2+1, 0x42, 1);
std::cout << "value: " << test2 << std::endl;
return 0;
}
我所得到的输出为:
size of test2: 2
value: 77
77 是 0x4D。所以出于某种原因,它没有捕捉到我试图设置在变量的第二个字节上的 0x42。为什么会这样呢?