Share via


_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.

Baca 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