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

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

Страниц: 1 2 [3]   Вниз
  Печать  
Автор Тема: Как поместить в int 8-битный код русского символа?  (Прочитано 13836 раз)
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #30 : Март 16, 2014, 13:33 »

Пример ARM - они bi. Улыбающийся И хоть в большинстве своем их запускают в little, но big до сих пор очень возможен с увеличением популярности армов.

Я даже больше скажу, есть АРМы с mixed endian, я для таких как раз писал бинарный ввод/вывод данных Строит глазки
Записан
Alexu007
Гость
« Ответ #31 : Март 16, 2014, 14:02 »

Не очень ясно чего Вы хотите добиться

Мне нужно в QByteArray записать несколько int. То есть int занимает 4 байта, вот эти 4 байта и записать в QByteArray, а QByteArray дальше записать в файл. Потом соответственно прочитать из файла и восстановить исходный int.

В fread/fwrite такой проблемы не было, я в файл записывал sizeof(byte) и где нужно sizeof(int).

Не, конечно я могу сделать "по науке", т.е int & 0x000000FF - получить младший байт из инта, потом со сдвигом вправо вытащить остальные - и потом так же туда обратно засунуть. Я спрашиваю - нет ли способа попроще, чтобы сразу из int в QByteArray и наоборот?
« Последнее редактирование: Март 16, 2014, 14:10 от Alexu007 » Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #32 : Март 16, 2014, 14:40 »

Я спрашиваю - нет ли способа попроще, чтобы сразу из int в QByteArray и наоборот?
Есть. Это QDataStream. Улыбающийся
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #33 : Март 16, 2014, 14:48 »

Вот мне и стало интересно: для чего советовать одно, а самому делаете наоборот. Улыбающийся
Автор не обязан следовать собственным рекомендациям, они пишутся для других  Улыбающийся
Лучше сначала ответить на прямой вопрос ТС, а затем уже "рекомендовать" стоит ли так делать, не лучше ли и.т.п.

Ладно, есть у меня большая задача к которой скоро надо вернуться (визуализация пены). Если есть желание там ко мне попридираться - оживлю тему, может там извлеку что-то из Вас. А так гонять порожняк неинтересно  Улыбающийся

Мне нужно в QByteArray записать несколько int. То есть int занимает 4 байта, вот эти 4 байта и записать в QByteArray, а QByteArray дальше записать в файл. Потом соответственно прочитать из файла и восстановить
"Неправильный" ответ  Улыбающийся
Код
C++ (Qt)
int val = 7;
QByteArray ba("test");
ba.append((char *) &val, sizeof(val));
 
Хотя это и будет работать - потом трудно читать. Правильно навесить QDataStreаm и все делать в нем
Код
C++ (Qt)
int val = 7;
QByteArray ba;
QDataStream strm(&ba, QIODevice::WriteOnly);
strm << val;
 
При этом "ba" заполняется данными. Читать так же, только ReadOnly и >>
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #34 : Март 16, 2014, 14:50 »

может там извлеку что-то из Вас. А так гонять порожняк неинтересно  Улыбающийся
Врядли. Улыбающийся
Помните ваши же слова про "забесплатно"... Вот, вы не сможете себе позволить меня. Улыбающийся

Хотя это и будет работать - потом трудно читать.
Нет, правильно не будет и не по причине "трудно читать".
Это может работать правильно только на некоторых платформах.
« Последнее редактирование: Март 16, 2014, 14:53 от Old » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #35 : Март 16, 2014, 16:12 »

Вот, вы не сможете себе позволить меня. Улыбающийся
А какая от Вас польза чтобы я Вас "позволял"?  Улыбающийся
Записан
Alexu007
Гость
« Ответ #36 : Март 16, 2014, 16:15 »

Господа Old и Igors, спасибо за помощь.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #37 : Март 16, 2014, 16:21 »

А какая от Вас польза чтобы я Вас "позволял"?  Улыбающийся

Если есть желание там ко мне попридираться

Да, вы как всегда противоречивы. Улыбающийся
Польза в том, что я к вам "придираюсь", а вы учитесь. Иначе зачем вы это просите. Улыбающийся
« Последнее редактирование: Март 16, 2014, 16:42 от Old » Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #38 : Март 16, 2014, 17:35 »

Польза в том, что я к вам "придираюсь", а вы учитесь. Иначе зачем вы это просите. Улыбающийся
Не припоминаю чтобы я у Вас что-то "просил", и вообще, не увлекайтесь ролью учителя  Улыбающийся
Я предложил обсудить (вот правильное выражение) вещи посложнее. Ну на нет и суда нет.
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4350



Просмотр профиля
« Ответ #39 : Март 16, 2014, 17:42 »

Не припоминаю чтобы я у Вас что-то "просил"
Неее, вы уже не просили, вы хотели:
может там извлеку что-то из Вас. А так гонять порожняк неинтересно  Улыбающийся
Но нет. Улыбающийся

и вообще, не увлекайтесь ролью учителя  Улыбающийся
Хотите что бы я оставил это вам? Но простите, в очередной раз слушать истории о финдреплейсах и векторах лично мне уже наскучило. Подтяните знания - будьте интересней.
« Последнее редактирование: Март 16, 2014, 17:59 от Old » Записан
Страниц: 1 2 [3]   Вверх
  Печать  
 
Перейти в:  


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