【发布时间】:2014-12-10 00:43:46
【问题描述】:
我正在尝试在我的项目中使用 Qt 中的网络编程 API。我的代码的一部分要求我将 double* 数据转换为 QByteArray 或 const char*。
我搜索了 stackoverflow 的问题,发现很多人建议使用此代码:
QByteArray array(reinterpret_cast<const char*>(data), sizeof(double));
或者,对于一个双精度数组:
QByteArray::fromRawData(reinterpret_cast<const char*>(data),s*sizeof(double));
当我在我的函数中使用它们时,它并没有给我想要的结果。输出似乎是随机字符。
请提出一种在 Qt 中实现它的有效方法。非常感谢您的宝贵时间。
问候 阿洛克
【问题讨论】:
-
您需要什么?这些双精度的二进制表示(您的代码可能存在内存管理问题,如果您需要深拷贝使用
QByteArray::QByteArray ( const char * data, int size )),还是需要将其转换为这些值的文本表示(@Silicomancer 回答)?我建议您准确描述您对这些数据所做的工作。
标签: qt reinterpret-cast qbytearray