Sdílet prostřednictvím


_mbsnbcpy, _mbsnbcpy_l

Zkopíruje n bajtů řetězce do cílového řetězce. K dispozici jsou bezpečnější verze těchto funkcí – viz _mbsnbcpy_s. _mbsnbcpy_s_l

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

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

Parametry

strDest
Cíl pro zkopírování řetězce znaků.

strSource
Řetězec znaků, který se má zkopírovat.

count
Počet bajtů, které se mají zkopírovat

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

Vrácená hodnota

_mbsnbcpy vrátí ukazatel na řetězec cílového znaku. Žádná návratová hodnota není vyhrazena k označení chyby.

Poznámky

Funkce _mbsnbcpy kopíruje count bajty z strSource do strDest. Pokud count překročí velikost zdrojového a cílového strDest řetězce, chování _mbsnbcpy není definováno.

Pokud strSource nebo strDest je ukazatel null, tato funkce vyvolá neplatnou obslužnou rutinu parametru, jak je popsáno v ověření parametru. Pokud je spuštění povoleno pokračovat, funkce vrátí NULL a nastaví errno na EINVAL.

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 verze, 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í.

Důležité

Tyto funkce můžou být ohrožené hrozbami přetečení vyrovnávací paměti. Přetečení vyrovnávací paměti se dá použít ke spuštění libovolného kódu útočníka, který může způsobit neoprávněné zvýšení oprávnění a ohrozit systém. Další informace najdete v tématu Zabránění přetečení vyrovnávací paměti.

V jazyce C++ mají tyto funkce přetížení šablon, které vyvolávají novější, bezpečnější protějšky těchto funkcí. Další informace naleznete v tématu Přetížení šablon zabezpečení.

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

Rutina Tchar.h _UNICODE a _MBCS není definován _MBCS Definovány _UNICODE Definovány
_tcsncpy strncpy _mbsnbcpy wcsncpy
_tcsncpy_l _strncpy_l _mbsnbcp_l _wcsncpy_l

Požadavky

Rutina Požadovaný hlavičkový soubor
_mbsnbcpy <mbstring.h>
_mbsnbcpy_l <mbstring.h>

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

Viz také

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