c++ vector<float> 转 QByteArray
时间: 2023-07-02 22:18:31 浏览: 113
中文转 QByteArray+QByteArray转换为中文
可以使用QByteArray的构造函数将vector<float>转换为QByteArray,然后使用QDataStream将QByteArray序列化为二进制数据。以下是示例代码:
```c++
#include <QByteArray>
#include <QDataStream>
#include <vector>
std::vector<float> vec = { 1.2f, 3.4f, 5.6f };
QByteArray byteArray(reinterpret_cast<const char*>(vec.data()), vec.size() * sizeof(float));
QByteArray serializedData;
QDataStream stream(&serializedData, QIODevice::WriteOnly);
stream << byteArray;
// 现在 serializedData 包含了 vector<float> 的二进制表示
```
请注意,此代码中的vector<float>必须是连续存储的。如果不是,则需要使用其他方法将其转换为QByteArray。
阅读全文