qt QByteArray 和 结构体互转
结构体:
SendTargetModel
QByteArray:
data
QByteArray转结构体
SendTargetModel* _sendTargetModel=(*SendTargetModel)data.data();
结构体转QByteArray
SendTargetModel* sendTargetModel=new SendTargetModel();
data.append((char*)sendTargetModel,sizeof(SendTargetModel));
需要注意三个点
#pragma pack(push) // 保存对齐状态
#pragma pack(1) // 设定为1字节对齐
class SendTargetModel
{
};
#pragma pack(pop) // 恢复对齐状态
1、要加上对齐
2、不能继承QObject
3、sizeof(类名),不是sizeof(实例化对象名)

浙公网安备 33010602011771号