_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 definovaný |
_UNICODE definovaný |
---|---|---|---|
_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