如何在Qt中将QByteArray转换为Array?

时间:2018-11-22 16:27:12

标签: c++ qt qbytearray

我有一个像这样的QByteArray变量:

QByteArray read= port->readAll();

现在我想将读取转换为数组以写入二进制文件,如下所示:

int b[] = {}; // lengh of array is port->readAll() size
QFile myFile("e:/test/test.dat");
if(!myFile.open(QIODevice::WriteOnly))return;
myFile.write((char*)b,sizeof(int));
myFile.flush();
myFile.close();

1 个答案:

答案 0 :(得分:0)

无需创建int [] b = ..etc 只需使用方法QByteArray :: data():

QFile file(...);
QByteArray byteArray = ...
...
file.write(byteArray.data(), byteArray.size());

或者您可以将QByteArray的对象直接设置为file.write():

QFile file(...);
QByteArray byteArray = ...;

file.write(byteArray);