【发布时间】:2014-04-24 04:05:36
【问题描述】:
我有一个double 数组:
QVector<double> Y(count);
我需要将它打包到QByteArray 以通过以太网发送。
所以我做到了。这不是太难:
QByteArray line;
line.clear();
line.append(QByteArray::fromRawData(reinterpret_cast<const char*>(Y.data()),
count*sizeof(double)));
我尝试使用此代码从QByteArray recv 解压缩数据:
QVector<double> data((line.size())/sizeof(double));
QByteArray dou(sizeof(double),0x0);
for(int i = 0; i<data.count(); i++){
dou = recv.mid(i*sizeof(double),sizeof(double));
data[i] = *reinterpret_cast<const double*>(dou.data());
dou.clear();
}
但我不喜欢它。我想找到从QByteArray 解压到QVector<double> 的优雅方法
你能帮帮我吗?
【问题讨论】:
-
注意:这不仅不优雅,而且易碎且不便携。
标签: c++ arrays qt reinterpret-cast qbytearray