Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Kopiert eine Zeichenfolge. Sicherere Versionen dieser Funktionen sind verfügbar. Informationen dazu finden Sie unter strcpy_s, wcscpy_s, _mbscpy_s.
Wichtig
_mbscpy kann nicht in Anwendungen verwendet werden, die in Windows-Runtime ausgeführt werden. Weitere Informationen finden Sie im Artikel CRT functions not supported in Universal Windows Platform apps (In Apps für die universelle Windows-Plattform nicht unterstützte CRT-Funktionen).
Syntax
char *strcpy(
char *strDestination,
const char *strSource
);
wchar_t *wcscpy(
wchar_t *strDestination,
const wchar_t *strSource
);
unsigned char *_mbscpy(
unsigned char *strDestination,
const unsigned char *strSource
);
template <size_t size>
char *strcpy(
char (&strDestination)[size],
const char *strSource
); // C++ only
template <size_t size>
wchar_t *wcscpy(
wchar_t (&strDestination)[size],
const wchar_t *strSource
); // C++ only
template <size_t size>
unsigned char *_mbscpy(
unsigned char (&strDestination)[size],
const unsigned char *strSource
); // C++ only
Parameter
strDestination
Zielzeichenfolge.
strSource
Mit NULL endende Quellzeichenfolge.
Rückgabewert
Jede dieser Funktionen gibt die Zielzeichenfolge zurück. Kein Rückgabewert ist zur Fehleranzeige reserviert.
Hinweise
Die strcpy-Funktion kopiert strSource einschließlich des abschließenden NULL-Zeichens an den Speicherort, der von strDestination angegeben wird. Wenn sich Quell- und Zielzeichenfolgen überlappen, ist das Verhalten von strcpy undefiniert.
Wichtig
Da strcpy vor dem Kopieren von strDestinationstrSource nicht auf genügend Speicherplatz überprüft, kann es so zu Pufferüberläufen kommen. Daher wird empfohlen, stattdessen zu verwenden strcpy_s .
wcscpy und _mbscpy sind Breitzeichen- bzw. Multibytezeichenversionen von strcpy. Die Argumente und der Rückgabewert wcscpy sind Zeichenfolgen mit breitem Zeichen. Die Argumente und der Rückgabewert sind _mbscpy Multibyte-Zeichenfolgen. Diese drei Funktionen verhalten sich andernfalls identisch.
In C++ haben diese Funktionen Vorlagenüberladungen, mit denen die neueren, sicheren Entsprechungen dieser Funktionen aufgerufen werden. Weitere Informationen finden Sie unter Secure Template Overloads.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Mapping generischer Textroutinen
TCHAR.H-Routine |
_UNICODE und _MBCS nicht definiert |
_MBCS definiert |
_UNICODE definiert |
|---|---|---|---|
_tcscpy |
strcpy |
_mbscpy |
wcscpy |
Anforderungen
| Routine | Erforderlicher Header |
|---|---|
strcpy |
<string.h> |
wcscpy |
<string.h> oder <wchar.h> |
_mbscpy |
<mbstring.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_strcpy.c
// compile with: /W3
// This program uses strcpy
// and strcat to build a phrase.
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[80];
// If you change the previous line to
// char string[20];
// strcpy and strcat will happily overrun the string
// buffer. See the examples for strncpy and strncat
// for safer string handling.
strcpy( string, "Hello world from " ); // C4996
// Note: strcpy is deprecated; use strcpy_s instead
strcat( string, "strcpy " ); // C4996
// Note: strcat is deprecated; use strcat_s instead
strcat( string, "and " ); // C4996
strcat( string, "strcat!" ); // C4996
printf( "String = %s\n", string );
}
String = Hello world from strcpy and strcat!
Siehe auch
Zeichenfolgenbearbeitung
strcat, wcscat_mbscat
strcmp, wcscmp_mbscmp
strncat, , _strncat_lwcsncat, _wcsncat_l, , _mbsncat_mbsncat_l
strncmp, , wcsncmp_mbsncmp_mbsncmp_l
strncpy, , _strncpy_lwcsncpy, _wcsncpy_l, , _mbsncpy_mbsncpy_l
_strnicmp, , _wcsnicmp_mbsnicmp, _strnicmp_l, , _wcsnicmp_l_mbsnicmp_l
strrchr, , wcsrchr_mbsrchr_mbsrchr_l
strspn, , wcsspn_mbsspn_mbsspn_l