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

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

Страниц: 1 [2]   Вниз
  Печать  
Автор Тема: Как записать структуру в QByteArray  (Прочитано 18379 раз)
Syveren
Гость
« Ответ #15 : Апрель 24, 2012, 15:04 »

Зачем вообще записывать структуру сначала в QByteArray, а потом конвертить в char*.
Не легче ли сразу написать:
udp->writeDatagram(reinterpret_cast<char *>(&tt),56,QHostAddress("192.168.0.81"),9800);
Записан
Syveren
Гость
« Ответ #16 : Апрель 24, 2012, 15:20 »

QByteArray вижу смысл использовать, если работать с QDataStream
Код
C++ (Qt)
QByteArray buff;
QDataStream stream(& buff, QIODevice::WriteOnly);
stream.setByteOrder(QDataStream::LittleEndian);
int len = stream.writeRawData(reinterpret_cast<char *>(&tt), sizeof(tt))
//Q_ASSERT(len  == sizeof(tt))
 
... и передавать buf.data();
П.С. как сказали выше, не забываем о выравнивании структур в памяти...
« Последнее редактирование: Апрель 24, 2012, 15:22 от Syveren » Записан
Страниц: 1 [2]   Вверх
  Печать  
 
Перейти в:  


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