struct mit union speichern
-
hi
hier wird die struktur in_addr beschrieben
http://msdn.microsoft.com/de-de/library/zx63b042.aspx
ok, ich habs mal leserlich formatiertstruct in_addr { union { struct { unsigned char s_b1, s_b2, s_b3, s_b4; } S_un_b; struct { unsigned short s_w1, s_w2; } S_un_w; unsigned long S_addr; } S_un; };
und schwupp - schon kommt die fraggää:
wenn ich die einzelnen werte der struktur speichern will. wie finde ich heraus,
welche der unions gerade aktiv ist?
danke
-
Du wirst wohl nicht drum rumkommen mit enum aufzuzählen was alles setzbar ist und dir zu merken, was gesetzt wurde.
L. G.
S. D.
-
wie finde ich heraus, welche der unions gerade aktiv ist?
a) Es ist nur eine Union.
b) Alle sind aktiv. D.h fuellst du sie mit einemunsigned long
, dann kannst du diesen auch byteweise ueber diechar
s auslesen.
-
knivil schrieb:
b) Alle sind aktiv. D.h fuellst du sie mit einem
unsigned long
, dann kannst du diesen auch byteweise ueber diechar
s auslesen.Das ist raffiniert!
-
knivil schrieb:
b) Alle sind aktiv. D.h fuellst du sie mit einem
unsigned long
, dann kannst du diesen auch byteweise ueber diechar
s auslesen.Kann man nicht, aber mit Visual C++ funktioniert das normalerweise.
-
füllen tut die union accept.
ich wollte die ip speichern, ohne inet_ntoa zu bemühen.
geht wohl nicht, egal.