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(实例化对象名)

 

posted @ 2024-04-08 09:17  我不是白菜啊  阅读(1005)  评论(0)    收藏  举报