Freigeben über


überprüfte, wcscpy, _mbscpy

Kopiert eine Zeichenfolge.Sicherere Versionen dieser Funktionen sind verfügbar; finden Sie unter strcpy_s, wcscpy_s, _mbscpy_s.

Wichtiger HinweisWichtig

_mbscpy kann nicht in den Anwendungen verwendet werden, die in Windows-Runtime ausführen.Weitere Informationen finden Sie unter CRT-Funktionen unterstützt nicht mit /ZW.

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
    Auf NULL endende Quellzeichenfolge.

Rückgabewert

Jede dieser Funktionen gibt die Zielzeichenfolge zurück.Kein Rückgabewert wird reserviert, um einen Fehler anzugeben.

Hinweise

Die strcpy-Funktion kopiert strSource, einschließlich des abschließenden NULL-Zeichens, dem Speicherort, der von strDestination angegeben wird.Das Verhalten von strcpy ist nicht definiert, wenn die Quell- und Zielzeichenfolgen überschneiden.

SicherheitshinweisSicherheitshinweis

Da strcpy für nicht genügend Speicherplatz in strDestination überprüft, bevor strSource kopiert, ist es eine mögliche Ursache von Pufferüberläufen.Daher wird empfohlen, stattdessen strcpy_s verwenden.

wcscpy und _mbscpy sind, bzw., Breitzeichen und Mehrbytezeichen-Versionen von strcpy.Die Argumente und der Rückgabewert von wcscpy sind Breitzeichen-Zeichenfolgen; die von _mbscpy sind Mehrbyte-Zeichenfolgen.Diese drei Funktionen verhalten sich andernfalls identisch.

In C++ sind diese Funktionen Vorlagenüberladungen, die aufrufen, das später, speichern Entsprechungen dieser Funktionen.Weitere Informationen finden Sie unter Speichern Sie Vorlagen-Überladungen.

Zuordnung generische Textroutinen

TCHAR.H-Routine

_UNICODE & _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>

So zusätzlicher Kompatibilitätsinformation 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 );
}
  

.NET Framework-Entsprechung

System::String::Copy

Siehe auch

Referenz

Zeichenfolgenbearbeitung (CRT)

strcat, wcscat, _mbscat

strcmp, wcscmp, _mbscmp

strncat, _strncat_l, wcsncat, wcsncat_l, _mbsncat _mbsncat_l

strncmp, wcsncmp, _mbsncmp, _mbsncmp_l

strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l

_strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l

strrchr, wcsrchr, _mbsrchr, _mbsrchr_l

strspn, wcsspn, _mbsspn, _mbsspn_l