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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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