table of contents
STPCPY(3) | Linux-Programmierhandbuch | STPCPY(3) |
BEZEICHNUNG¶
stpcpy - Eine Zeichenkette kopieren, die einen Zeiger an ihr Ende zurückliefert
ÜBERSICHT¶
#include <string.h>
char *stpcpy(char *Ziel, const char *Quelle);
Mit Glibc erforderliche Feature-Test-Makros (siehe
feature_test_macros(7)):
stpcpy():
- Seit Glibc 2.10:
- _POSIX_C_SOURCE >= 200809L
- Vor Glibc 2.10:
- _GNU_SOURCE
BESCHREIBUNG¶
Die Funktion stpcpy() kopiert die Zeichenkette, auf die Quelle zeigt (einschließlich des abschließenden Nullbytes (»\0«)) in das Feld, auf das Ziel zeigt. Die Zeichenketten dürfen sich nicht überlappen und die Zielzeichenkette Ziel muss groß genug sein, um die Kopie zu aufzunehmen.
RÜCKGABEWERT¶
stpcpy() liefert einen Zeiger auf das Ende der Zeichenkette Ziel zurück (das heißt, die Adresse des abschließenden Nullbytes), anstatt auf den Anfang.
ATTRIBUTE¶
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert |
stpcpy() | Multithread-Fähigkeit | MT-Safe |
KONFORM ZU¶
Diese Funktion wurde in POSIX.1-2008 hinzugefügt. Vorher war sie nicht Teil der C- oder POSIX.1-Standards noch auf herkömmlichen UNIX-Systemen. Sie erschien erstmalig zumindest 1986, in dem Lattice-C-AmigaDOS-Compiler, dann 1989 in den GNU fileutils und GNU textutils und 1992 in der GNU C-Bibliothek. Sie ist auch auf den BSDs vorhanden.
FEHLER¶
Diese Funktion kann einen Pufferüberlauf von Ziel verursachen.
BEISPIEL¶
Beispielsweise verwendet dieses Programm stpcpy(), um foo und bar aneinanderzuhängen, um foobar zu erstellen, welches es dann ausgibt.
#define _GNU_SOURCE #include <string.h> #include <stdio.h> int main(void) {
char buffer[20];
char *to = buffer;
to = stpcpy(to, "foo");
to = stpcpy(to, "bar");
printf("%s\n", buffer); }
SIEHE AUCH¶
bcopy(3), memccpy(3), memcpy(3), memmove(3), stpncpy(3), strcpy(3), string(3), wcpcpy(3)
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 4.16 des Projekts Linux-man-pages. Eine Beschreibung des Projekts, Informationen, wie Fehler gemeldet werden können, sowie die aktuelle Version dieser Seite finden sich unter https://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
15. März 2016 | GNU |