_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 dest
null 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_l
wcsncat
, _wcsncat_l
, , _mbsncat
,_mbsncat_l
strncat_s
, , _strncat_s_l
wcsncat_s
, _wcsncat_s_l
, , _mbsncat_s
,_mbsncat_s_l