Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > неправильный размер пакета


Автор: deniskostin 19.6.2009, 11:33
Всем доброго времени суток.

В общем проблема с формированием пакета через struct

Код


struct FLAGS
 {
     byte type;
 };

 struct IP
 {
     byte ip1;
     byte ip2;
     byte ip3;
     byte ip4;
 };

 struct PORTS
 {
     unsigned short int port;
 };

 struct LIST
 {
     byte Size;
     unsigned short int Hosts;
     unsigned short int Chat;
     FLAGS flags[16];
     IP ip[16];
     PORTS port[16];
 };


По идеи он должен сделать его размером 117 байт, но делает размером 118 байт. 

Вопрос, как побороть с++ и сделать пакет в 117 байт

Автор: Andrey44 19.6.2009, 11:45


Код

#pragma pack (push, 1)
struct FLAGS
 {
     byte type;
 };
 struct IP
 {
     byte ip1;
     byte ip2;
     byte ip3;
     byte ip4;
 };
 struct PORTS
 {
     unsigned short int port;
 };
#pragma pack (pop)



Автор: deniskostin 19.6.2009, 13:02
Благадарю, будем теперь еще изучать pagma дерективы 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)