конвертировать между float [4] и qbytearray - PullRequest
0 голосов
/ 18 марта 2020

текущее назначение требует, чтобы я преобразовал между qbytearray и float [4], однако онлайн-методы, использующие memcpy (), (reinterpret_cast (& f), sizeof (f)), не работают с преобразованием массива с плавающей точкой в ​​qbytearray, а затем наоборот, просто получите 0x66fc70 (первоначально массив float fVar [4] = {1.1, 2.3, 9.5, 0.2})

единственный рабочий, использующий tofloat, однако это для 1 float, а не для массива, пожалуйста, не копировать напрямую с другого форума, если только вы не протестируете и покажите, что он возвращает исходный массив с плавающей запятой после двустороннего преобразования

1 Ответ

0 голосов
/ 18 марта 2020

вы можете прочитать их, выполнив:

qint32 BYTES_TO_READ{4 * 4};
float myFloatArray[4];
mySocket->read(reinterpret_cast<char*>(myFloatArray), BYTES_TO_READ);
...