strcpy, wcscpy, _mbscpy

Menyalin string. Versi yang lebih aman dari fungsi-fungsi ini tersedia; lihat strcpy_s, wcscpy_s, _mbscpy_s.

Penting

_mbscpy tidak dapat digunakan dalam aplikasi yang dijalankan di Windows Runtime. Untuk informasi selengkapnya, lihat Fungsi CRT yang tidak didukung di aplikasi Platform Windows Universal.

Sintaks

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
String tujuan.

strSource
String sumber yang dihentikan null.

Nilai hasil

Masing-masing fungsi ini mengembalikan string tujuan. Tidak ada nilai pengembalian yang dicadangkan untuk menunjukkan kesalahan.

Keterangan

Fungsi strcpy menyalin strSource, termasuk karakter null yang mengakhiri, ke lokasi yang ditentukan oleh strDestination. Perilaku strcpy tidak terdefinisi jika string sumber dan tujuan tumpang tindih.

Penting

Karena strcpy tidak memeriksa ruang yang cukup di strDestination sebelum menyalin strSource, itu adalah penyebab potensial overruns buffer. Oleh karena itu, kami sarankan Anda menggunakan strcpy_s sebagai gantinya.

wcscpy dan _mbscpy masing-masing, versi karakter lebar dan multibyte-character dari strcpy. Argumen dan nilai yang dikembalikan adalah wcscpy string karakter lebar. Argumen dan nilai yang dikembalikan adalah _mbscpy string multibyte-character. Ketiga fungsi ini berulah secara identik jika tidak.

Di C++, fungsi-fungsi ini memiliki kelebihan beban templat yang memanggil rekan-rekan yang lebih baru dan aman dari fungsi-fungsi ini. Untuk informasi selengkapnya, lihat Mengamankan kelebihan beban templat.

Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.

Pemetaan rutin teks generik

TCHAR.H Rutin _UNICODE dan _MBCS tidak ditentukan _MBCS Didefinisikan _UNICODE Didefinisikan
_tcscpy strcpy _mbscpy wcscpy

Persyaratan

Rutin Header yang diperlukan
strcpy <string.h>
wcscpy <string.h> atau <wchar.h>
_mbscpy <mbstring.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Contoh

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

Baca juga

Manipulasi string
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