dword im char array
-
Hi, habe etwas Probleme meine Frage zu formuliren, hoffentlich erkennt ihr mein Problem. Ich habe eine Zeichenkette. Nun möchte ich an irgendeiner Stelle 4 Zeichen ändern. Wie das in 4 Schritten geht, weis ich, aber wie gehts in einem?
-
Zeig mal die 4 Schritte.
-
So mach ich das imoment. Ziemlich umständlich
foo[x-3] = bar; foo[x-2] = bar >> 8; foo[x-1] = bar >> 16; foo[x] = bar >> 24;
-
Mit einem Cast.
*(unsigned int*)(&foo[x]) = bar;
Die Indizierung stimmt nicht mit deiner überein, das musst du dir selbst zusammenfummeln. Außerdem musst du beachten, dass es implementation-defined ist, in welcher Reihenfolge die Bytes von bar nach foo geschrieben werden, Stichworte Endianness, Big-Endian, Little-Endian. Für die Portabilität kann es also u.U. so besser sein, wie du es machst.
-
Funktioniert, danke!