Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » api messages erweitern ?!

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
30.10.2003, 15:03 Uhr
~centrino
Gast


Hi,

Ich habe ein struct in C:

struct api_msg {
__u16 type; /* type of message */
__s16 code; /* function or return value */
__u16 length; /* length of params */
__u8 params[API_DATA_SIZE]; /* additional parameter data */
};

Diese wird über socket verschickt.

nun möchte ich diese struct erweitern auf:

struct api_msg {
__u16 type; /* type of message */
__s16 code; /* function or return value */
__u16 length; /* length of params */
__u8 params[API_DATA_SIZE]; /* additional parameter data */
char device[IFNAMSIZ]; /*interfaces name */
};

wird es funktionieren ?
Was bedeuten die Typen _u16( unsigned 16 bit ? ) , _s16 usw. Wieso muss man so bezeichnen ? Wo kann man es nachlesen ?
Danke
Gruss
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
30.10.2003, 15:40 Uhr
virtual
Sexiest Bit alive
(Operator)


Aus Deinen fragen schließe ich mal, Daß Du Dir die Struktur nicht selbst ausgedacht hast, dann ist es eine durch und durch schlechte idée, da einfach noch ein Feld einzufügen.

__u16 bedeutet wahrscheinlich unsigned 16 Bit integer,
__s16 entsprechened signed 16 Bit integer
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
30.10.2003, 18:04 Uhr
~centrino
Gast


natürlich der struct ist nicht von mir,
meine Aufgabe ist doch ja es zu erweitern.
Anstatt char kann man doch __u8 schreiben oder ?
gruss
centrino
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
30.10.2003, 18:14 Uhr
virtual
Sexiest Bit alive
(Operator)


Statt __u8 kannst Du unsigned char schreiben, meistens jedenfalls. Fast nie meistens kann man char mit unsigned char oder signed char gleichsetzen, weil char, signed char und unsigned char unterschiedliche Typen sind:
signed char ist immer signed.
unsigned char ist immer unsigned.
char ist manchmal signed, manchmal unsigned; hängt von der Platform ab.

Was Die Struktur angeht:
Wenn die Struktur nicht von Dir ist, kommt sie vermutlich mit den Systemheadern mit oder von einer fertigen DLLs. Wenn es beim Programmieren angemessen wäre, die todesstrafe zu verhängen, dann für das Ändern solcher Header. Machs also nicht.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: