Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

strncpy - Teilzeichenkette kopieren

&pagelevel(4)&pagelevel

Definition

#include <string.h>

char *strncpy(char *s1, const char *s2, size_t n);

Beschreibung

strncpy() kopiert maximal n Zeichen der Zeichenkette s2 in den Speicherbereich, auf den s1 zeigt.

Wenn die Zeichenkette s2 weniger als n Zeichen enthält, wird nur in der Länge von s2(strlen + 1) kopiert, s1 wird dann bis zur Länge n mit Nullbytes aufgefüllt.

Wenn die Zeichenkette s2 n Zeichen (ohne das Nullbyte) oder mehr enthält, wird die Zeichenkette s1 nicht automatisch mit dem Nullbyte abgeschlossen.

Wenn die Zeichenkette s1 mehr als n Zeichen enthält und das letzte kopierte Zeichen aus s2 nicht das Nullbyte ist, bleiben ggf. restliche Daten in s1 erhalten.

strncpy() schließt s1 nicht automatisch mit dem Nullbyte ab.

Returnwert

Zeiger auf die Ergebniszeichenkette s1.

Hinweise

strncpy() überprüft nicht, ob der Speicherbereich s1 groß genug für das Ergebnis ist!

Da strncpy() die Ergebniszeichenkette nicht automatisch mit dem Nullbyte abschließt, kann es häufig notwendig sein, s1 explizit mit einem Nullbyte abzuschließen. Das ist z.B. der Fall, wenn nur ein Teilstück aus s2 kopiert wird und auch s2 kein Nullbyte enthält.

Bei sich überlappenden Speicherbereichen ist das Verhalten undefiniert.

Siehe auch

strcpy(), strlen(), string.h.