编辑:num2的错误类型已经被更正。
你好,
我有一些已知大小的字符数组,其中包含从二进制文件中读取的原始整数数据。
所有这些数组的大小都是一个整数。
我想问,在所有正常情况下,假设原始数据的字节顺序和运行此代码的计算机相同,以下操作是否安全且准确。
char arr1[4] = { ... };
char arr2[2] = { ... };
uint32_t num1 = *static_cast<uint32_t*>(arr1); /* OR num1 = *(uint32_t*)arr1 in C */
uint16_t num2 = *static_cast<uint16_t*>(arr2); /* OR num2 = *(uint32_t*)arr2 in C */
谢谢你!