_mbccpy_s _mbccpy_s_l
Zkopíruje jeden vícebajtové znakové z jednoho řetězce s jiným řetězcem.Jedná se o verze _mbccpy _mbccpy_l s vylepšení zabezpečení, jak je popsáno v Funkce zabezpečení v CRT.
![]() |
---|
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 _mbccpy_s(
unsigned char *dest,
size_t buffSizeInBytes,
int * pCopied,
const unsigned char *src
);
errno_t _mbccpy_s_l(
unsigned char *dest,
size_t buffSizeInBytes,
int * pCopied,
const unsigned char *src,
locale_t locale
);
template <size_t size>
errno_t _mbccpy_s(
unsigned char (&dest)[size],
int * pCopied,
const unsigned char *src
); // C++ only
template <size_t size>
errno_t _mbccpy_s_l(
unsigned char (&dest)[size],
int * pCopied,
const unsigned char *src,
locale_t locale
); // C++ only
Parametry
[výstup]dest
Cíl kopírování.[v]buffSizeInBytes
Velikost cílové vyrovnávací paměti.[výstup]pCopied
Vyplní počet bajtů zkopírovaných (1 nebo 2 v případě úspěchu).Předat NULL v případě, že není důležité o číslo.[v]src
Vícebajtové znaky ke zkopírování.[v]locale
Chcete-li národní prostředí pro použití.
Vrácená hodnota
Nula v případě úspěchu; kód chyby při selhání.Pokud src nebo dest je NULL, nebo pokud více než buffSizeinBytes bajtů by zkopírovány do dest, pak je vyvolána obslužná rutina neplatný parametr, jak je popsáno v Ověření parametrů.Pokud je povoleno zpracování, chcete-li pokračovat, vrátí funkce EINVAL a errno je nastavena na EINVAL.
Poznámky
_mbccpy_s Funkce kopíruje jeden vícebajtové znaky z src na dest.Pokud src neodkazuje na vedoucí bajt vícebajtové znakové podle implicitní volání na _ismbblead, pak jeden bajt, src odkazuje na zkopírován.Pokud src odkazuje na úvodní bajt, ale následující bajt je 0 a tedy za neplatnou a 0 je zkopírován do dest, errno je nastavena na EILSEQ, a vrátí funkce EILSEQ.
_mbccpy_snemá připojit null zakončení; Nicméně pokud src odkazuje na prázdný znak, pak tato hodnota null je zkopírován do dest (který je právě pravidelné kopírování jednobajtové).
Hodnota v pCopied je vyplněn počet bajtů zkopírovaných.Možné hodnoty jsou 1 a 2, pokud je operace úspěšná.Pokud NULL je předána, je tento parametr ignorován.
src |
zkopírovat dodest |
pCopied |
Vrácená hodnota |
---|---|---|---|
vedoucí bajt |
vedoucí bajt |
1 |
0 |
0 |
0 |
1 |
0 |
vedoucí bajt, následovaný non-0 |
vedoucí bajt, následovaný non-0 |
2 |
0 |
vedoucí bajt, následované 0 |
0 |
1 |
EILSEQ |
Všimněte si, že druhý řádek pouze zvláštní případ první.Všimněte si také, předpokládá tabulka buffSizeInBytes > = pCopied.
_mbccpy_spoužívá aktuální národní prostředí pro všechny závislé chování._mbccpy_s_lje totožný s _mbccpy_s s tím rozdílem, že _mbccpy_s_l používá národní prostředí předána pro jakékoli závislé chování.
V jazyce C++ pomocí těchto funkcí je zjednodušeno díky přetížení šablony; přetížení můžete odvodit vyrovnávací paměti automaticky, takže není nutné zadat argument velikost.Další informace naleznete v tématu Přetížení šablony zabezpečení.
Mapování rutiny obecného textu
Byla zahájena rutina Tchar.h |
_UNICODE a _MBCS není definováno |
_MBCS, definice |
_UNICODE definována |
---|---|---|---|
_tccpy_s |
Mapy do makra nebo vložené funkce. |
_mbccpy_s |
Mapy do makra nebo vložené funkce. |
Požadavky
Byla zahájena rutina |
Požadované záhlaví |
---|---|
_mbccpy_s |
<mbstring.h> |
_mbccpy_s_l |
<mbstring.h> |
Další informace o kompatibilitě v tématu Compatibility v úvodu.