Escapezeichen bei der Eingabe
-
Der Code:
char text[6]; cin >> text; cout << text;So wenn ich jetzt bei der Eingabe \0 eingebe und dahinter weitere Zeichen, warum wird dann bei der Ausgabe trotzdem alles angezeigt??
Ich dachte bei Zeile 3 wird cout die Adresse des Char-Arrays übergeben und liest dann alle Char-Zeichen aus bis zum ersten '\0'. Und das habe ich doch schon am Anfang eingegeben... ??
-
Die Escapesequenz \0 ist EIN Zeichen! Die kannst du gar nicht in der Konsole eingeben.
Gruß
-
Weil "\0" ein String mit der Länge von einem Zeichen ist (\0 steht für das einfügen eines einzelnen Nullbytes) und \0 in der Eingabe 2 Bytes groß ist und kein Nullbyte enthält sondern ein Backslash und das ASCII-Nullzeichen.
-
Ach so ja klar, demnach wäre das ja '\' '0' hehe k thx