Problem: String vergleich immer true
-
Hast du die von Rüdiger velinkte Dokumentation bzgöl strchr gelesen? Wenn ja, dann wäre die Frage geklärt.
-
Mein Problem liegt bei dem if:
if(ptr) { *ptr = '\0';
und nicht bei dem Teil den die Dokumentation erklärt. Mir ist die Allgemeine Funktionsweise nicht ersichtlich.
-
Das Zeichen an der Position ptr wird mit der 0 überschrieben.
Die 0 an der niederwertigsten Adresse (falls die Zeichenkette mehrere Nullbytes enthält) einer Zeichenkette definiert die Zeichenkettenlänge.
-
wofür dann das if? Ich glaub ich stehe auf dem Schlauch
-
Wird das '\n' nicht gefunden, liefert strchr NULL, dann ist ptr NULL.
Das if verhindert in diesem Fall einen Programmabsturz, den eine Dereferenzierung des Null-Zeigers verursachen würde.
-
Ah ok dan würde ich sagen: closed