У меня есть несколько типов данных, которые я пытаюсь записать в файл необработанных данных. Я не использую QDataStream, потому что он записывает некоторую дополнительную информацию о данных, такую как длина и порядок данных. Мне просто нужен файл, который состоит только из байтов, которые я пишу, и будет интерпретирован только тем, кто знает правильный порядок и размер записываемых типов данных.
Я использую QFile с методом записи qint64 QIODevice::write(const QByteArray &byteArray)
.
У меня есть несколько uint8_t, uint32_t и float для записи в файл. Как я могу преобразовать эти данные в QByteArray без лишних байтов?
Вот что у меня есть:
void FileWriter::writeData(uint8_t status, uint8_t channel, uint32_t ticks, float source0, float source1){
QByteArray dataToWrite;
//some code to add the paramters to the dataToWrite array
this->file.write(dataToWrite);
}
Обычное приведение старого стиля к char
дает мне ошибку implicit conversion changes signedness
, так что это не будет правильно хранить значение.
Как правильно копировать эти значения в QByteArray, чтобы я мог записать его в файл?