_mbsnbcat_s
, _mbsnbcat_s_l
Çok baytlı bir karakter dizesine, en fazla başka bir çok baytlı karakter dizesinin ilk n baytını ekler. Bu işlevler, CRT'deki Güvenlik özellikleri bölümünde açıklandığı gibi güvenlik geliştirmeleri içeren sürümleridir_mbsnbcat_l
_mbsnbcat
.
Önemli
Bu API, Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz. Daha fazla bilgi için bkz. Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri.
Sözdizimi
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
Parametreler
dest
Null olarak sonlandırılan çok baytlı hedef dize.
sizeInBytes
Arabelleğin dest
bayt cinsinden boyutu.
src
Null olarak sonlandırılan çok baytlı kaynak dize.
count
sonuna eklenecek dest
bayt src
sayısı.
locale
Kullanılacak yerel ayar.
Dönüş değeri
Başarılı olursa sıfır; aksi takdirde, bir hata kodu.
Hata koşulları
dest |
sizeInBytes |
src |
Dönüş değeri |
---|---|---|---|
NULL |
herhangi bir | herhangi bir | EINVAL |
Herhangi biri | <= 0 | herhangi bir | EINVAL |
Herhangi biri | herhangi bir | NULL |
EINVAL |
Hata koşullarından herhangi biri oluşursa, işlev Parametre doğrulama bölümünde açıklandığı gibi geçersiz bir parametre hatası oluşturur. Hata işlenirse işlev döndürür EINVAL
ve olarak EINVAL
ayarlanırerrno
.
Açıklamalar
_mbsnbcat_s
işlevi, en fazla ilk count
bayt olan src
öğesine eklerdest
. içindeki dest
null karakterin hemen önüne gelen bayt bir kurşun baytsa, ilk bayt tarafından src
üzerine yazılır. Aksi takdirde, ilk bayt değeri src
sonlandırıcı null karakterinin dest
üzerine yazar. Baytlar eklenmeden önce count
içinde null bayt görünürsesrc
, _mbsnbcat_s
içindeki tüm baytları src
null karaktere ekler. uzunluğundan büyüksecount
, uzunluğu src
yerine count
kullanılır.src
Sonuçta elde edilen dize null karakterle sonlandırılır. Kopyalama çakışan dizeler arasında gerçekleşirse, davranış tanımlanmamıştır.
Çıkış değeri, yerel ayarın LC_CTYPE
kategori ayarının ayarından etkilenir. Daha fazla bilgi için bkz. setlocale
. Bu işlevlerin sürümleri aynıdır, ancak son ekine sahip _l
olmayanlar geçerli yerel ayarı, son ekine sahip _l
olanlar ise geçirilen yerel ayar parametresini kullanır. Daha fazla bilgi için bkz . Yerel Ayar.
C++'ta bu işlevlerin kullanımı şablon aşırı yüklemeleriyle basitleştirilir. Aşırı yüklemeler arabellek uzunluğunu otomatik olarak çıkararak boyut bağımsız değişkeni belirtme gereksinimini ortadan kaldırır ve eski, daha az güvenli işlevleri değiştirmek için daha yeni, daha güvenli işlevleri otomatik olarak kullanabilir. Daha fazla bilgi için bkz . Güvenli şablon aşırı yüklemeleri.
Bu işlevlerin hata ayıklama kitaplığı sürümleri önce arabelleği 0xFE ile doldurur. Bu davranışı devre dışı bırakmak için kullanın _CrtSetDebugFillThreshold
.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Genel metin yordamı eşlemeleri
Tchar.h olağan |
_UNICODE ve _MBCS tanımlanmadı |
_MBCS tanımlanan |
_UNICODE tanımlanan |
---|---|---|---|
_tcsncat_s |
strncat_s |
_mbsnbcat_s |
wcsncat_s |
_tcsncat_s_l |
_strncat_s_l |
_mbsnbcat_s_l |
_wcsncat_s_l |
Gereksinimler
Yordam | Gerekli başlık |
---|---|
_mbsnbcat_s |
<mbstring.h> |
_mbsnbcat_s_l |
<mbstring.h> |
Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.
Ayrıca bkz.
Dize işleme
_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