Char array init
-
Hi,
ich versuchen ein char array direkt einer stuktur zuzuweisen. Leider schlägt es fehl.
// Headerauszug typedef struct Id { unsigned char b[6]; } Id; typedef struct { Id netId; unsigned short port; } Addr; // Mainauszug Addr address;Wie kann ich das Char array direkt mit Werten initialisieren?
address.netId.b[0] = 1; //... address.netId.b[5] = 1;Geht das nicht mit einem Einzeiler?
-
Willst du wirklich C++ programmieren oder bist du in's falsche Forum gelangt?
-
beava schrieb:
Geht das nicht mit einem Einzeiler?
Mit boost.assign ginge es.
Mit C++0x gehts auch ohne Boost. Mit C++ könnte man sowas wie Konstruktoren verwenden.Deine typedef struct XY-Geschichte sieht aber arg nach C aus, und da gehts wohl nicht.
-
beava schrieb:
ich versuchen ein char array direkt einer stuktur zuzuweisen. Leider schlägt es fehl.
Mit
memcpykann man so etwas kopieren, wenn die Größen übereinstimmen.beava schrieb:
Wie kann ich das Char array direkt mit Werten initialisieren?
Vielleicht so:
Id i = {1, 2, 3, 4, 5, 6};