Nullterminieren
-
Wie kann ich einen Struct unter C++ nullterminieren?
-
Gar nicht.
Eine Struct ist ein Typ. Ein Typ kann nicht nullterminiert sein. Nur ein String kann nullterminiert sein.Präzisier deine Frage.
Übrigens ist das eine ANSI-C Frage, und keine WinAPI.
-
@falke
Du meinst wohl mit 0 initialisieren, oder?Beispiel:
... struct st1 { int var1; double var2; char var3[100]; }; ... struct st1 structvar = {0}; //alle Elemente der struct werden mit 0 initialisiert ...
-
cd9000 schrieb:
Gar nicht.
Eine Struct ist ein Typ. Ein Typ kann nicht nullterminiert sein. Nur ein String kann nullterminiert sein.Im Prinzip kannst du alles nullterminieren, ist nur die Frage was das für einen Sinn macht, ob es portierbar ist und ob man keine Fehler dadurch produziert.
int x = 'aaa\0'; struct MyStruct{ int x,e,d; }; MyStruct s; char *p = (char)&s + (char*)sizeof(MyStruct); memset(&s, sizeof(s), 19); *--p = 0;