_mbccpy_s _mbccpy_s_l
複製資料的單一多位元組字元到另一個字串。 這些是 _mbccpy _mbccpy_l 的安全性增強版本,如 安全性功能,則在 CRT 中 中所述。
重要
這個 API 不能用於 Windows 執行階段執行的應用程式。如需詳細資訊,請參閱 CRT 函式不支援使用 /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
參數
[out] dest
複製目的地。[in] buffSizeInBytes
目標緩衝區的大小。[out] pCopied
使用複製的位元組數填滿 (1 或 2,如果成功的話)。 傳遞 NULL ,如果您在數字的不會。[in] src
複製的多位元組字元。[in] locale
使用的地區設定。
傳回值
零,如果成功;在失敗時的錯誤碼。 如果 src 或 dest 是 NULL,或者,如果超過 buffSizeinBytes 個位元組將會複製到 dest,然後不正確的參數叫用處理常式,如 參數驗證中所述。 如果執行允許繼續執行,函式會傳回 EINVAL 和 errno 設定為 EINVAL。
備註
_mbccpy_s 函式複製 src 的多位元組字元加入至 dest。 如果未指向多位元組字元的前導位元組 (如隱含呼叫 src 決定對 _ismbblead,則為 src 所複製的單一位元組。 如果對前導位元組的 src 上,但以下位元組是 0 而不正確,則 0 複製到 dest, errno 設定為 EILSEQ函式會傳回 EILSEQ。
_mbccpy_s 不附加 null 結束字元;不過,則為,否則為 null 字元的 src ,該空點會複製到 dest (這是一般的單位元組複製)。
pCopied 中的值填入複製的位元組數目。 如果作業成功,可能的值為 1 和 2。 如果傳遞 NULL ,則會忽略這個參數。
src |
複製至 dest。 |
pCopied |
傳回值 |
---|---|---|---|
非前導位元組 |
非前導位元組 |
1 |
0 |
0 |
0 |
1 |
0 |
非 0 之後的前導位元組 |
非 0 之後的前導位元組 |
2 |
0 |
0 之後的前導位元組 |
0 |
1 |
EILSEQ |
請注意第二行是個特例第一個。 同時也請注意資料表假設 buffSizeInBytes >= pCopied。
_mbccpy_s 在所有地區設定相關行為使用目前的地區設定。 _mbccpy_s_l 與 _mbccpy_s 相同,除了地區設定為所有地區設定相關行為傳遞的 _mbccpy_s_l 使用。
在 C++ 中,使用這些函式由範本多載簡化;多載可自動推斷緩衝區的長度,不需要指定大小引數。 如需詳細資訊,請參閱安全範本多載。
泛用文字常式對應
Tchar.h 常式 |
未定義的 _UNICODE 和 _MBCS |
已定義 _MBCS |
已定義 _UNICODE |
---|---|---|---|
_tccpy_s |
對巨集或內嵌函式的對應。 |
_mbccpy_s |
對巨集或內嵌函式的對應。 |
需求
程序 |
必要的標頭檔 |
---|---|
_mbccpy_s |
<mbstring.h> |
_mbccpy_s_l |
<mbstring.h> |
如需更多關於相容性的資訊,請參閱入門介紹中的 相容性 (Compatibility) 。