【发布时间】:2015-01-06 15:15:58
【问题描述】:
我想将QVector<double> 转换为QBytearray,但我不知道该怎么做。
我试过了,但程序崩溃了:
QVector<double> vec;
QByteArray arr = QByteArray::fromRawData(reinterpret_cast<const char*>(vec),vec.size());
for(int i = 0; i< vec.size(); i++)
arr.append(reinterpret_cast<const char*>(vec.data(&numberOfData),sizeof(double));
谁能告诉我如何正确操作?
【问题讨论】:
-
您首先必须指定您希望
QByteArray包含的内容。只是来自向量的原始二进制数据? -
@Angew 你是什么意思?接下来我将使用Qbytearray来显示图片。
-
QVector<double>是一个浮点数数组。QByteArray是一个字节数组。您需要指定“转换”的含义。存储浮点数的二进制数据(例如memcpy会这样做)?还是别的什么? -
如果你甚至不使用循环变量来访问向量中的元素,循环就没有任何意义......
标签: c++ qt qbytearray