strcpy(3) Library Functions Manual strcpy(3) BEZEICHNUNG strcpy, strcat - eine Zeichenkette kopieren oder verketten BIBLIOTHEK Standard-C-Bibliothek (libc, -lc) UBERSICHT #include char *strcpy(char *restrict Ziel, const char *restrict Quelle); char *strcat(char *restrict Ziel, const char *restrict Quelle); BESCHREIBUNG strcpy() Diese Funktion verkettet die Zeichenkette, auf die Quelle zeigt, in eine Zeichenkette am Puffer, auf den Ziel zeigt. Der Programmierer muss selbst dafur sorgen, dass der Zielpuffer gross genug ist, was strlen(Quelle) + 1 bedeutet. Sie ist gleichbedeutend mit stpcpy(Ziel, Quelle), dst strcat() Diese Funktion verkettet die Zeichenkette, auf die Quelle zeigt, nach der Zeichenkette, auf die Ziel zeigt, und zwar so, dass deren beendendes Null-Byte uberschrieben wird. Der Programmierer muss selbst dafur sorgen, dass der Zielpuffer gross genug ist, was strlen(Ziel) + strlen(Quelle) + 1 bedeutet. Sie ist gleichbedeutend mit stpcpy(strnul(Ziel), Quelle), dst RUCKGABEWERT Diese Funktionen liefern Ziel zuruck. ATTRIBUTE Siehe attributes(7) fur eine Erlauterung der in diesem Abschnitt verwandten Ausdrucke. +--------------------------------+-------------------------+-----------+ |Schnittstelle | Attribut | Wert | +--------------------------------+-------------------------+-----------+ |strcpy(), strcat() | Multithread-Fahigkeit | MT-Sicher | +--------------------------------+-------------------------+-----------+ STANDARDS C11, POSIX.1-2008. GESCHICHTE POSIX.1-2001, C89, SVr4, 4.3BSD. WARNUNGEN Die Zeichenketten Quelle und Ziel durfen sich nicht uberlappen. Falls der Zielpuffer nicht gross genug ist, dann ist das Verhalten nicht definiert. Siehe _FORTIFY_SOURCE in feature_test_macros(7). strcat() kann sehr ineffizient sein. Lesen Sie zum Thema Shlemiel the painter . BEISPIELE #include #include #include #include int main(void) { char *buf1; size_t len, size; size = strlen("Hello ") + strlen("world") + strlen("!") + 1; buf1 = malloc(sizeof(*buf1) * size); if (buf1 == NULL) err(EXIT_FAILURE, "malloc()"); buf2 = malloc(sizeof(*buf2) * size); if (buf2 == NULL) err(EXIT_FAILURE, "malloc()"); strcpy(buf1, "Hello "); strcat(buf1, "world"); strcat(buf1, "!"); len = strlen(buf1); printf("[len = %zu]: ", len); puts(buf1); // "Hello world!" free(buf1); exit(EXIT_SUCCESS); } SIEHE AUCH stpcpy(3), strdup(3), string(3), wcscpy(3), string_copying(7) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Markus Schmitt , Dr. Tobias Quathamer , Helge Kreutzmann , Martin Eberhard Schauer und Mario Blattermann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.18 25. Februar 2026 strcpy(3)