Sdílet prostřednictvím


_mbsnbcat_s, _mbsnbcat_s_l

Připojí se k vícebajtovém znakovém řetězci, maximálně prvním n bajtům jiného vícebajtového řetězce. Tyto funkce jsou verze _mbsnbcat, _mbsnbcat_l které mají vylepšení zabezpečení, jak je popsáno v funkcích zabezpečení v CRT.

Důležité

Toto rozhraní API nelze použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.

Syntaxe

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

Parametry

dest
Cílový řetězec s vícebajtovými znaky s hodnotou null.

sizeInBytes
dest Velikost vyrovnávací paměti v bajtech.

src
Zdrojový řetězec s vícebajtovými znaky s hodnotou null.

count
Počet bajtů od src připojení k dest.

locale
Národní prostředí, které se má použít.

Vrácená hodnota

Nula v případě úspěchu; v opačném případě kód chyby.

Chybové podmínky

dest sizeInBytes src Vrácená hodnota
NULL jakékoliv jakékoliv EINVAL
Všechny <= 0 jakékoliv EINVAL
Všechny jakékoliv NULL EINVAL

Pokud dojde k některé z chybových podmínek, funkce vygeneruje neplatnou chybu parametru, jak je popsáno v ověření parametru. Pokud je chyba zpracována, funkce vrátí EINVAL a nastaví errno hodnotu EINVAL.

Poznámky

Funkce _mbsnbcat_s připojí nejvíce count k destprvním bajtům src. Pokud bajt, který bezprostředně předchází znaku null, dest je počáteční bajt přepsán počáteční bajt .src Jinak počáteční bajt src přepsání ukončující znak null znaku dest. Pokud se před připojením bajtů zobrazí srccount bajt null, _mbsnbcat_s připojí všechny bajty z src, až do znaku null. Je-li count větší než délka src, délka src je použita místo count. Výsledný řetězec je ukončen znakem null. Pokud probíhá kopírování mezi řetězci, které se překrývají, chování není definováno.

Výstupní hodnota je ovlivněna nastavením LC_CTYPE nastavení kategorie národního prostředí. Další informace najdete na webu setlocale. Verze těchto funkcí jsou stejné, s výjimkou těch, které nemají příponu _l , používají aktuální národní prostředí a ty, které mají příponu _l , místo toho používají předaný parametr národního prostředí. Další informace naleznete v tématu Národní prostředí.

V jazyce C++ je použití těchto funkcí zjednodušeno přetížením šablony. Přetížení mohou odvodit délku vyrovnávací paměti automaticky, což eliminuje potřebu zadat argument velikosti a mohou automaticky používat novější, bezpečnější funkce k nahrazení starších, méně zabezpečených funkcí. Další informace naleznete v tématu Přetížení šablon zabezpečení.

Verze knihovny ladění těchto funkcí nejprve vyplní vyrovnávací paměť 0xFE. Chcete-li toto chování zakázat, použijte _CrtSetDebugFillThreshold.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

Mapování rutin obecného textu

Tchar.h Rutinní _UNICODE a _MBCS není definován _MBCS Definovány _UNICODE Definovány
_tcsncat_s strncat_s _mbsnbcat_s wcsncat_s
_tcsncat_s_l _strncat_s_l _mbsnbcat_s_l _wcsncat_s_l

Požadavky

Rutina Požadovaný hlavičkový soubor
_mbsnbcat_s <mbstring.h>
_mbsnbcat_s_l <mbstring.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Viz také

Manipulace s řetězci
_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