在Qt项目开发中,经常会碰到自定义结构体和字符数组之间的转换问题,不妨假设结构体名字为custom_struct, 字符数组名字为array_data
1. QByteArray转换为自定义结构体
custom_struct *struct_data = reinterpret_cast<custom_struct *>(array_data.data());
或:强转
custom_struct *struct_data = (custom_struct *)array_data.data();
2. 自定义结构体转换为QByteArray
QByteArray array_data; array_data.append((char*)&struct_data, sizeof(struct_data));