QVector转换为QByteArray
时间: 2024-05-02 22:16:51 浏览: 16
将QVector转换为QByteArray,可以使用QDataStream类来序列化QVector,然后将其转换为QByteArray。
以下是一个示例代码:
```cpp
QVector<int> vector = {1, 2, 3, 4, 5};
QByteArray byteArray;
QDataStream stream(&byteArray, QIODevice::WriteOnly);
stream << vector;
// byteArray现在包含序列化的数据
```
在上面的代码中,我们首先创建一个包含整数的QVector。然后,我们创建一个QByteArray,并使用QDataStream将vector序列化到byteArray中。现在,byteArray中包含序列化的数据,可以将其发送到另一个进程或保存到磁盘中。
相关问题
QByteArray 转QVector<double >
可以使用QDataStream来实现QByteArray到QVector<double>的转换。具体实现可以参考下面的代码:
```cpp
QByteArray byteArray = ...; // 待转换的QByteArray
QVector<double> vector;
QDataStream stream(&byteArray, QIODevice::ReadOnly);
while (!stream.atEnd()) {
double value;
stream >> value;
vector.append(value);
}
```
这段代码中,我们首先创建了一个QByteArray对象byteArray,然后创建了一个QDataStream对象stream,将其绑定到byteArray上,并且设置其为只读模式。
接下来,我们通过一个while循环,从stream中不断读取double类型的数据,并且将其添加到QVector<double>对象vector中。
最终,vector中就存储了从QByteArray转换而来的double类型的数据。
QByteArray 里面是二进制float数据 转QVector<double >
如果QByteArray里面存储的是二进制float数据,我们需要先将其转换成double类型的数据,然后再将其添加到QVector<double>中。
具体实现可以参考下面的代码:
```cpp
QByteArray byteArray = ...; // 待转换的QByteArray
QVector<double> vector;
const int size = sizeof(float); // float类型的数据占用字节数
for (int i = 0; i < byteArray.size(); i += size) {
float floatValue;
memcpy(&floatValue, byteArray.constData() + i, size);
double doubleValue = static_cast<double>(floatValue);
vector.append(doubleValue);
}
```
这段代码中,我们首先创建了一个QByteArray对象byteArray,然后创建了一个QVector<double>对象vector。
接下来,我们通过一个for循环,每次从byteArray中读取一个float类型的数据,将其转换成double类型的数据,并且将其添加到QVector<double>对象vector中。在读取float类型的数据时,我们使用memcpy函数将byteArray中的数据复制到一个float类型的变量中。
最终,vector中就存储了从QByteArray转换而来的double类型的数据。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)