_mbsnbcpy_s _mbsnbcpy_s_l
Kopie n bajtů řetězce pro cílový řetězec.Jedná se o verze _mbsnbcpy _mbsnbcpy_l s vylepšení zabezpečení, jak je popsáno v Funkce zabezpečení v CRT.
Důležité |
---|
Toto rozhraní API nelze použít v aplikacích, které jsou spuštěny v systému Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW. |
errno_t _mbsnbcpy_s(
unsigned char * strDest,
size_t sizeInBytes,
const unsigned char * strSource,
size_t count
);
errno_t _mbsnbcpy_s_l(
unsigned char * strDest,
size_t sizeInBytes,
const unsigned char * strSource,
size_t count,
_locale_t locale
);
template <size_t size>
errno_t _mbsnbcpy_s(
unsigned char (&strDest)[size],
const unsigned char * strSource,
size_t count
); // C++ only
template <size_t size>
errno_t _mbsnbcpy_s_l(
unsigned char (&strDest)[size],
const unsigned char * strSource,
size_t count,
_locale_t locale
); // C++ only
Parametry
strDest
Cíl pro řetězec znaků, které mají být zkopírovány.sizeInBytes
Velikost cílové vyrovnávací paměti.strSource
Znakový řetězec, který chcete zkopírovat.count
Počet bajtů, které mají být zkopírovány.locale
Chcete-li národní prostředí pro použití.
Vrácená hodnota
Nula v případě úspěchu; EINVALPokud byl předán chybný parametr.
Poznámky
The _mbsnbcpy_s function copies count bytes from strSource to strDest.Pokud count přesahuje velikost strDest, buď vstupní řetězce je ukazatel s hodnotou null, nebo sizeInBytes nebo count je 0, funkce vyvolá obslužnou rutinu neplatný parametr, jak je popsáno v Ověření parametrů .Pokud je povoleno zpracování, chcete-li pokračovat, vrátí funkce EINVAL.Pokud zdrojový a cílový řetězce překrývají, chování _mbsnbcpy_s není definován.
Výstupní hodnota je ovlivněna nastavením LC_CTYPE kategorie nastavení národního prostředí; Viz setlocale pro další informace.Verze těchto funkcí, aniž by _l příponu použít aktuální národní prostředí pro toto chování závislé na národním prostředí; verze s _l s tím rozdílem, že používají místo něho předán parametr locale shodná přípona.Další informace naleznete v tématu Národní prostředí.
[!POZNÁMKA]
Na rozdíl od nezabezpečenou verzí této funkce _mbsnbcpy_s nelze provést čalounění null a vždy hodnotu null ukončení řetězce.
V jazyce C++ pomocí těchto funkcí je zjednodušeno díky přetížení šablony; přetížení můžete automaticky odvodit velikost vyrovnávací paměti (není tedy třeba zadat argument velikost) a starší, nezabezpečené funkce lze automaticky nahradí s jejich protějšky novější, bezpečné.Další informace naleznete v tématu Přetížení šablony zabezpečení.
Ladicí verze těchto funkcí vyplnit nejprve vyrovnávací paměť s 0xFD.Chcete-li zakázat toto chování, použijte _CrtSetDebugFillThreshold.
Mapování rutiny obecného textu
Byla zahájena rutina Tchar.h |
_UNICODE a _MBCS není definováno |
_MBCS, definice |
_UNICODE definována |
---|---|---|---|
_tcsncpy_s |
_strncpy_s |
_mbsnbcpy_s |
_wcsncpy_s |
_tcsncpy_s_l |
_strncpy_s_l |
_mbsnbcpy_s_l |
_wcsncpy_s_l |
Požadavky
Byla zahájena rutina |
Požadované záhlaví |
---|---|
_mbsnbcpy_s |
<mbstring.h> |
_mbsnbcpy_s_l |
<mbstring.h> |
Další informace o kompatibilitě v tématu Compatibility v úvodu.
Ekvivalent v rozhraní .NET Framework
Nelze použít Volání funkce standardním C pomocí PInvoke. Další informace naleznete v tématu Platformu vyvolání příklady.
Viz také
Referenční dokumentace
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l