Qt中,将一个结构体转为qbytearray后,如何将这个qpqbytearray重新恢复为之前的结构体
2023-12-20 07:14:46
在 Qt 中,如果你有一个自定义的结构体,并将其转换为 QByteArray,然后想要将 QByteArray 转换回原始的结构体,你可以使用 Qt 的 QDataStream 类来实现这个转换过程。
首先,假设你有一个自定义的线段结构体如下:
```cpp
struct Line{
? ? QPoint start;
? ? QPoint end;
};
```
现在,假设你已经将这个结构体转换为 QByteArray,你可以使用 QDataStream 来将 QByteArray 转换回原始的结构体。
下面是一个示例代码:
```cpp
// 假设 lineByteArray 是之前转换得到的
QByteArray lineByteArray = ...; // 之前转换得到的
QDataStream dataStream(&lineByteArray, QIODevice::ReadOnly);
Line line;
dataStream >> line.start >> line.end;
// 现在 line 结构体已经被填充为原始的值
```
在这个示例中,我们使用 QDataStream 对象来读取 QByteArray 中的数据,并将其填充到原始的 Line 结构体中。
注意,这个转换和恢复的过程都要使用Qdatastream 去实现。
文章来源:https://blog.csdn.net/xcksj666/article/details/135089185
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!