Hallo ! Folgende Sache... Ich möchte gerne eine Nullterminierung am String abfragen. if(xy[] == '\0') Das wesentliche was mich interessiert ist aber, wie muss ich meinen String aufbauen, damit dies auch richtig funktioniert? char xy[256] = "666\0"; Zusatzfrage: ist mein String hier 5 Byte lang ? oder zählt das \0 als 1 Zeichen ? oder char xy[256] = "666 "; oder char xy[256] = "6660"; Wäre nett, wenn mir jemand helfen könnten mit der Nullterminierung!! Danke !!
char xy[256] = "666"; Der Compiler fügt bei konstanten Strings wie "666" automatisch immer das abschliessende '\0' Zeichen ein. http://www.mikrocontroller.net/articles/FAQ#Wie_funktioniert_String-Verarbeitung_in_C.3F
Danke für die Info! Was ist, wenn ich doch die Nullterminierung explizit mit hinzufügen muss? Wie muss ich dann dies programmieren?
Naja bzgl. der Frage: Explizit hinzufügen? Wie gesagt bei Literalen ala "foo" ist das ganze schon 0 terminiert, da braucht man explizit nix machen. Wenn du nen char array[5] hast setzt array[4] = '\0'; das letzte Byte auf 0. "Hinzufügen" ist das falsche Wort. Glaub mir folgendes: Trial and Error in C macht man nicht. Das geht auf jeden Fall nach hinten los. Leih dir Kernighan und Ritchie The C Programming Language aus. Sind irgendwie 150 Seiten oder so.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.