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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk