Russian Qt Forum
Ноябрь 05, 2024, 22:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [qt-4.2.0] Опять про кодировки и перекодировки  (Прочитано 3162 раз)
izoomer
Гость
« : Май 11, 2007, 10:48 »

Вот получаю от внешнего устройства набор байтов QByteArray ... и в четвертом байте есть данные int которые мне нужны ... так вот ... если делаю так
Код:

     qDebug() << msgbuf.at(3);

или
Код:

     QString size(msgbuf.at(3));
     qDebug() << size;


то нет числа нашего, левый символ выводится ...
если так ...
Код:

     qDebug() << (uchar)msgbuf[3];

то вижу данные , но как их получить в int ?!
Вообще как мне по умному конвертировать ?
Прошу прощения за затасканую тему ...
Записан
Sergeich
Гость
« Ответ #1 : Май 11, 2007, 12:01 »

Ниче не понял :shock:
А чем не устраивает
Код:
int size = msgbuf.at(3);
qDebug() << size;
Записан
AlexVR
Гость
« Ответ #2 : Май 11, 2007, 12:16 »

И опять же, int не может храниться в одном байте!!!
* Если тебя интересует 4-ый байт, то (uchar)msgbuf[3] оно и есть.
* Если тебя интересует int начинающейся с 4-го байта, записаный в обратном порядке, то, например, так *(int*)(&msgbuf.data()[3])
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.088 секунд. Запросов: 21.