Ich muss herausfinden, ob ein Char-Array mit "ADD" beginnt. Ich weiß, wie man strcmp () benutzt, aber ich weiß nicht, wie man die ersten drei Zeichen bekommt. Ich hasse es wirklich mit C-Strings zu arbeiten. Wie kann ich ein Stück eines Char-Arrays wie char buffer[1024]?
Verwenden Sie strncmp("ADD", buffer, 3)
.
Ich bin mir nicht sicher, was Sie mit "slice" meinen, aber jeder Zeiger in buffer
könnte als Slice betrachtet werden. Wenn beispielsweise buffer
eine Zeichenfolge ist, die mit "ADD"
beginnt, dann ist char *slice = buffer + 3
die gleiche Zeichenfolge mit "ADD"
entfernt. Hinweis das slice
ist dann ein Teil von buffer
und das Ändern des Inhalts von slice
ändert den Inhalt von buffer
. Und umgekehrt.
Wenn Sie mit "slice" eine unabhängige Kopie meinen, müssen Sie einen neuen Speicherblock zuweisen und die interessanten Teile aus buffer
in Ihren Speicher kopieren. Die Bibliotheksfunktionen strdup
und strndup
sind dafür geeignet.