Qt: число в шестнадцатеричном потоке, который я могу передать через последовательный порт.C++

Программы на C++. Форум разработчиков
Anonymous
Qt: число в шестнадцатеричном потоке, который я могу передать через последовательный порт.

Сообщение Anonymous »

У меня небольшая проблема с Qt, я пытаюсь простым способом превратить значение 500016 в шестнадцатеричное число, а затем сохранить его в QByteArray, который я отправляю через spi.< /p>
Я ожидаю, что 500016 превратится в 0x07, 0xA1, 0x30, поэтому мой QByteArray будет в конечном итоге получится qb[0] = 07, qb[1] = A1, qb[2] = 30.
Проблема, с которой я столкнулся, заключается в том, что по какой-то причине большинство предложений, которые я обнаружили разделение значений так: qb[0] = 7, [qb][1] = A, qb[2] = 1, qb[3] = 3 и т. д.
QByteArray payload;
QString test123 = QString::number(TransportNumber, 16);
test123.toUpper();
payload.append(test123.toUtf8());

Есть идеи, как правильно преобразовать число в шестнадцатеричный формат, чтобы оно поместилось в QByteArray?
Как предложил @Q.M, я могу использовать QDataStream для потоковой передачи в QByteArray решение выглядит так
QByteArray payload;
QDataStream stream(&payload, QIODeviceBase::WriteOnly );

mStream

Подробнее здесь: https://stackoverflow.com/questions/793 ... ver-serial

Вернуться в «C++»