Bagikan melalui


_mbsnbcat_s, _mbsnbcat_s_l

Menambahkan ke string karakter multibyte, paling banyak, n byte pertama dari string multibyte-character lainnya. Fungsi-fungsi ini adalah versi _mbsnbcat, _mbsnbcat_l yang memiliki peningkatan keamanan, seperti yang dijelaskan dalam Fitur keamanan di CRT.

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

errno_t _mbsnbcat_s(
   unsigned char *dest,
   size_t sizeInBytes,
   const unsigned char *src,
   size_t count
);
errno_t _mbsnbcat_s_l(
   unsigned char *dest,
   size_t sizeInBytes,
   const unsigned char *src,
   size_t count,
   _locale_t locale
);
template <size_t size>
errno_t _mbsnbcat_s(
   unsigned char (&dest)[size],
   const unsigned char *src,
   size_t count
); // C++ only
template <size_t size>
errno_t _mbsnbcat_s_l(
   unsigned char (&dest)[size],
   const unsigned char *src,
   size_t count,
   _locale_t locale
); // C++ only

Parameter

dest
String tujuan multibyte-character yang dihentikan null.

sizeInBytes
dest Ukuran buffer dalam byte.

src
String sumber multibyte-character yang dihentikan null.

count
Jumlah byte dari src untuk ditambahkan ke dest.

locale
Lokal untuk digunakan.

Nilai hasil

Nol jika berhasil; jika tidak, kode kesalahan.

Kondisi kesalahan

dest sizeInBytes src Nilai hasil
NULL any any EINVAL
Apa pun <=0 any EINVAL
Apa pun any NULL EINVAL

Jika salah satu kondisi kesalahan terjadi, fungsi menghasilkan kesalahan parameter yang tidak valid, seperti yang dijelaskan dalam Validasi parameter. Jika kesalahan ditangani, fungsi mengembalikan EINVAL dan mengatur errno ke EINVAL.

Keterangan

Fungsi ini _mbsnbcat_s menambahkan ke dest, paling banyak, byte pertama count dari src. Jika byte yang segera mendahului karakter null dalam adalah byte prospek, itu ditimpa dest oleh byte awal .src Jika tidak, byte src awal menimpa karakter destnull yang mengakhiri . Jika byte null muncul di src sebelum count byte ditambahkan, _mbsnbcat_s tambahkan semua byte dari src, hingga karakter null. Jika count lebih besar dari panjang src, panjang src digunakan sebagai pengganti count. String yang dihasilkan dihentikan oleh karakter null. Jika penyalinan terjadi di antara string yang tumpang tindih, perilaku tidak terdefinisi.

Nilai output dipengaruhi oleh pengaturan LC_CTYPE pengaturan kategori lokal. Untuk informasi selengkapnya, lihat setlocale . Versi fungsi-fungsi ini identik, kecuali yang tidak memiliki _l akhiran menggunakan lokal saat ini dan yang memiliki _l akhiran sebagai gantinya menggunakan parameter lokal yang diteruskan. Untuk informasi selengkapnya, lihat Lokal.

Di C++, penggunaan fungsi-fungsi ini disederhanakan oleh kelebihan beban templat. Kelebihan beban dapat menyimpulkan panjang buffer secara otomatis, yang menghilangkan kebutuhan untuk menentukan argumen ukuran, dan mereka dapat secara otomatis menggunakan fungsi yang lebih baru dan lebih aman untuk menggantikan fungsi yang lebih lama dan kurang aman. Untuk informasi selengkapnya, lihat Mengamankan kelebihan beban templat.

Versi pustaka debug dari fungsi-fungsi ini terlebih dahulu mengisi buffer dengan 0xFE. Untuk menonaktifkan perilaku ini, gunakan _CrtSetDebugFillThreshold.

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
_tcsncat_s strncat_s _mbsnbcat_s wcsncat_s
_tcsncat_s_l _strncat_s_l _mbsnbcat_s_l _wcsncat_s_l

Persyaratan

Rutin Header yang diperlukan
_mbsnbcat_s <mbstring.h>
_mbsnbcat_s_l <mbstring.h>

Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.

Lihat juga

Manipulasi string
_mbsnbcmp, _mbsnbcmp_l
_strncnt, , _wcsncnt_mbsnbcnt, _mbsnbcnt_l, , _mbsnccnt,_mbsnccnt_l
_mbsnbcpy, _mbsnbcpy_l
_mbsnbcpy_s, _mbsnbcpy_s_l
_mbsnbset, _mbsnbset_l
strncat, , _strncat_lwcsncat, _wcsncat_l, , _mbsncat,_mbsncat_l
strncat_s, , _strncat_s_lwcsncat_s, _wcsncat_s_l, , _mbsncat_s,_mbsncat_s_l