Nullterminierter String
-
Schreibe gerade ein Programm indem ich einen String Zeichen für Zeichen in ein Array schreib. Jetzt möchte ich, dass ich es erkenne, wenn der String mit einer Null zu Ende(nullterminiert) ist, wie mache ich das.
-
bronstein schrieb:
Schreibe gerade ein Programm indem ich einen String Zeichen für Zeichen in ein Array schreib. Jetzt möchte ich, dass ich es erkenne, wenn der String mit einer Null zu Ende(nullterminiert) ist, wie mache ich das.
C-Strings sind mit einer binären Null terminiert und Null ist gleichzeitig false.
char str[] = "Hallo";
int i;
while(str[i]) i++;
-
mit einer binären Null terminiert
Ist für einige eventuell etwas verwirrend. Wird mit einem Null-Byte terminiert ist für Anfänger warscheinlich etwas verständlicher, da man sonst denken könnte es wird nur mit einem Bit terminiert. Ich weiß Klugscheißerei
-
interpreter schrieb:
... binären Null ...
Ich glaube, es würde sogar mit einer dezimalen Null gehen.
-
Das von interpreter funktioniert. Vielen Dank. Mit einer einfachen null funktioniert es nicht, hierzu müsste schon eine null innerhalb des Strings stehen. So viel ich weiß.
-
Was genau ist denn Deiner Meinung nach der Unterschied zwischen einer "einfachen null" und "eine null innerhalb des Strings"?
-
Ich glaube er meint:
a[i]=='0'; //das geht nicht!
a[i]==0; //das geht!
a[i]=='\0'; //das geht!