strcpy - nur einen Teil kopieren?
-
Hallo Community,
ich möchte von einem char beispielsweise die letzten 3 zeichen kopieren. Kann ich das mit der Funktion strncpy machen? wenn ja wie?
beispiel:char text1[10] = "blibla"; char text2[10]; strncpy(text2, text1, ?);
Beste Grüsse und danke für die Hilfe!
Paul
-
strncpy(text2, text1+strlen(text1)-3, 3);
Das Nullterminierungszeichen wird aber nicht mitkopiert, daher dann noch
text2[3] = '\0';
anfügen.
-
Wenn es die letzten Zeichen sein sollen.
strcpy(text2, text1+strlen(text1)-3);
Aber nur aufrufen, wenn strlen(text1) >= 3 ist!
strncpy
ist etwas komisch, wenn die Grenze (das n) erreicht, aber das Stringende noch nicht erreicht wurde.
Dann setztstrncpy
keinen Stringterminator (das '\0')
-
Danke für die Antworten! funktioniert!