_mbsnbcpy
, _mbsnbcpy_l
Menyalin n byte string ke string tujuan. Versi fungsi ini yang lebih aman tersedia—lihat _mbsnbcpy_s
, _mbsnbcpy_s_l
.
Penting
API ini 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
unsigned char * _mbsnbcpy(
unsigned char * strDest,
const unsigned char * strSource,
size_t count
);
unsigned char * _mbsnbcpy_l(
unsigned char * strDest,
const unsigned char * strSource,
size_t count,
_locale_t locale
);
template <size_t size>
unsigned char * _mbsnbcpy(
unsigned char (&strDest)[size],
const unsigned char * strSource,
size_t count
); // C++ only
template <size_t size>
unsigned char * _mbsnbcpy_l(
unsigned char (&strDest)[size],
const unsigned char * strSource,
size_t count,
_locale_t locale
); // C++ only
Parameter
strDest
Tujuan untuk string karakter yang akan disalin.
strSource
String karakter yang akan disalin.
count
Jumlah byte yang akan disalin.
locale
Lokal untuk digunakan.
Nilai hasil
_mbsnbcpy
mengembalikan penunjuk ke string karakter tujuan. Tidak ada nilai pengembalian yang dicadangkan untuk menunjukkan kesalahan.
Keterangan
Fungsi _mbsnbcpy
menyalin count
byte dari strSource
ke strDest
. Jika count
melebihi ukuran strDest
atau string sumber dan tujuan yang tumpang tindih, perilaku _mbsnbcpy
tidak terdefinisi.
Jika strSource
atau strDest
adalah penunjuk null, fungsi ini memanggil handler parameter yang tidak valid seperti yang dijelaskan dalam Validasi parameter. Jika eksekusi diizinkan untuk melanjutkan, fungsi mengembalikan NULL
dan mengatur errno
ke EINVAL
.
Nilai output dipengaruhi oleh pengaturan LC_CTYPE
pengaturan kategori lokal. Untuk informasi selengkapnya, lihat setlocale
. Versi fungsi ini identik, kecuali yang tidak memiliki _l
akhiran menggunakan lokal saat ini dan versi yang memang memiliki _l
akhiran sebagai gantinya menggunakan parameter lokal yang diteruskan. Untuk informasi selengkapnya, lihat Lokal.
Penting
Fungsi-fungsi ini mungkin rentan terhadap ancaman buffer yang diserbu. Overruns buffer dapat digunakan untuk mengeksekusi kode penyerang sewenang-wenang, yang dapat menyebabkan elevasi hak istimewa yang tidak beralasan dan membahayakan sistem. Untuk informasi selengkapnya, lihat Menghindari overruns buffer.
Di C++, fungsi-fungsi ini memiliki kelebihan beban templat yang memanggil rekan-rekan yang lebih baru dan lebih 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
Rutinitas Tchar.h | _UNICODE dan _MBCS tidak ditentukan |
_MBCS Didefinisikan |
_UNICODE Didefinisikan |
---|---|---|---|
_tcsncpy |
strncpy |
_mbsnbcpy |
wcsncpy |
_tcsncpy_l |
_strncpy_l |
_mbsnbcp_l |
_wcsncpy_l |
Persyaratan
Rutin | Header yang diperlukan |
---|---|
_mbsnbcpy |
<mbstring.h> |
_mbsnbcpy_l |
<mbstring.h> |
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Lihat juga
Manipulasi string
_mbsnbcat
, _mbsnbcat_l
_mbsnbcmp
, _mbsnbcmp_l
_strncnt
, , _wcsncnt
_mbsnbcnt
, _mbsnbcnt_l
, , _mbsnccnt
,_mbsnccnt_l
_mbsnbset
, _mbsnbset_l
strncpy
, , _strncpy_l
wcsncpy
, _wcsncpy_l
, , _mbsncpy
,_mbsncpy_l