Hallo, wie kann ich jeweils zwei Stellen des Int-Wertes in genau einer Stelle des char Arrays packen?
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
Gruß Bernd
|
Anzeige
|
int-Wert in char-Wert packenHallo, wie kann ich jeweils zwei Stellen des Int-Wertes in genau einer Stelle des char Arrays packen?
Gruß Bernd
Gast
#1261997
Was hast Du denn schon versucht? hats nen speziellen grund wozu ? wenn du das damit zur übertragung splitten willst ists der falsche weg.... Zum Beispiel so:
>hats nen speziellen grund wozu ?
ja, der Int-Wert stellt eine IP-Adresse dar und soll in einem Char-Array
paltziert werden für den HTTP Header Host - bei diesem wird diese
Adresse vom Client angegeben - allerdings nur mit einem Wert pro Wert
der IP.
Bernd
Wobei ich gerade sehe, dass meine Implementierung nicht besonders toll ist - so wird zum Beispiel aus 0x98765432 hinterher ffffff98 76 54 32 Aber das war halt auch in einer Minute schnell zusammengehackt ;-) Mark Brandis schrieb: > Wobei ich gerade sehe, dass meine Implementierung nicht besonders toll > ist - so wird zum Beispiel aus 0x98765432 hinterher Kommt drauf an. Wenn dein "unsigned int" mind. 4 Bytes gross ist dann stimmts. Ansonsten sollte ein "unsigned long" genuegen. Gruss, rweber So passt's:
Mark Brandis schrieb: > So passt's: > >
Wo soll denn da bitte der Unterschied sein? Wenn dein Int nur 2 Bytes gross ist, wird es durch die Zuweisung eines anderen Wertes auch nicht besser. Wie wärs denn damit:
Vorausgesetzt natürlich, es gilt sizeof (unsigned int) == 4 Robert Weber schrieb: > Wo soll denn da bitte der Unterschied sein? Wenn dein Int nur 2 Bytes > gross ist, wird es durch die Zuweisung eines anderen Wertes auch nicht > besser. Ist 4 Byte groß. AMD x86 32-Bit-Prozessor, Windows XP, gcc / MinGW Würde auch nicht viel Sinn machen, einer 16-Bit-Variablen den Wert 0x98765432 zuweisen zu wollen. Oder anders gesagt, eine IP-Adresse hat mehr als 16 Bits. Und kein Vorzeichen. :-) > Vorausgesetzt natürlich, es gilt sizeof (unsigned int) == 4
Und die Endianess (Little oder Big) der Zielarchitektur passt.
Antwort schreibenBitte melde dich an, um einen Beitrag zu schreiben. |
Anzeige
|