Как конвертировать QByteArray в массив в QT? - PullRequest
0 голосов
/ 22 ноября 2018

У меня есть переменная 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 голосов
/ 23 ноября 2018

Нет необходимости создавать 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);
...