strcpy, wcscpy, _mbscpy

Bir dizeyi kopyalar. Bu işlevlerin daha güvenli sürümleri mevcuttur; bkz. strcpy_s, wcscpy_s, _mbscpy_s.

Önemli

_mbscpyWindows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz. Daha fazla bilgi için bkz. Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri.

Sözdizimi

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

Parametreler

strDestination
Hedef dize.

strSource
Null olarak sonlandırılan kaynak dize.

Dönüş değeri

Bu işlevlerin her biri hedef dizeyi döndürür. Hata belirtmek için hiçbir dönüş değeri ayrılmaz.

Açıklamalar

İşlev, strcpy sonlandırıcı null karakter de dahil olmak üzere öğesini tarafından strDestinationbelirtilen konuma kopyalarstrSource. Kaynak ve hedef dizeler çakışıyorsa, öğesinin davranışı strcpy tanımlanmamıştır.

Önemli

kopyalamadan strcpy önce strSourceiçinde strDestination yeterli alan olup olmadığını denetlemediğinden, arabellek taşmalarının olası bir nedenidir. Bu nedenle, bunun yerine kullanmanızı strcpy_s öneririz.

wcscpy ve _mbscpy sırasıyla geniş karakterli ve çok baytlı sürümleridir strcpy. bağımsız değişkenleri ve dönüş değeri wcscpy geniş karakterli dizelerdir. bağımsız değişkenleri ve dönüş değeri _mbscpy çok baytlı karakter dizeleridir. Bu üç işlev aynı şekilde davranır.

C++ dilinde, bu işlevlerin daha yeni ve güvenli karşılıklarını çağıran şablon aşırı yüklemeleri vardır. Daha fazla bilgi için bkz . Güvenli şablon aşırı yüklemeleri.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Genel metin yordamı eşlemeleri

TCHAR.H olağan _UNICODE ve _MBCS tanımlanmadı _MBCS tanımlanan _UNICODE tanımlanan
_tcscpy strcpy _mbscpy wcscpy

Gereksinimler

Yordam Gerekli başlık
strcpy <string.h>
wcscpy <string.h> veya <wchar.h>
_mbscpy <mbstring.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

// 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!

Ayrıca bkz.

Dize işleme
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