我有一个像这样的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();
答案 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);