_mbsnbcat_s、_mbsnbcat_s_l
對多位元組字元字串的附加,最多,其他多位元組字元字串的第一個 n 位元組。 這些是 _mbsnbcat、_mbsnbcat_l 的安全性增強版本;如 CRT 中的安全性功能中所述。
重要
這個應用程式開發介面不能用於 Windows 執行階段 中執行的應用程式。如需詳細資訊,請參閱 /ZW 不支援 CRT 函式。
errno_t _mbsnbcat_s(
unsigned char *dest,
size_t sizeInBytes,
const unsigned char *src,
size_t count
);
errno_t _mbsnbcat_s_l(
unsigned char *dest,
size_t sizeInBytes,
const unsigned char *src,
size_t count,
_locale_t locale
);
template <size_t size>
errno_t _mbsnbcat_s(
unsigned char (&dest)[size],
const unsigned char *src,
size_t count
); // C++ only
template <size_t size>
errno_t _mbsnbcat_s_l(
unsigned char (&dest)[size],
const unsigned char *src,
size_t count,
_locale_t locale
); // C++ only
參數
dest
null 結尾多位元組字元的字串。sizeInBytes
dest 緩衝區的大小 (以位元組為單位)。src
null 結尾多位元組字元來源字串。Count
位元組數從附加的 src 為 dest。locale
要使用的地區設定。
傳回值
如果成功為零,否則為錯誤碼。
錯誤狀況
Dest |
sizeInBytes |
src |
傳回值 |
---|---|---|---|
NULL |
any |
any |
EINVAL |
Any |
<= 0 |
any |
EINVAL |
Any |
any |
NULL |
EINVAL |
如果有任何錯誤發生,函式會產生不正確的參數錯誤,如 參數驗證中所述。 如果錯誤已處理,則函式會回傳 EINVAL並將 errno 設為 EINVAL。
備註
_mbsnbcat_s 函式,至多附加, count 第一個 dest 位元至 src中。 如果在 Null 字元之前的位元組在 dest 是前導位元組,它由 src 初始位元組覆寫。 否則,初始位元組 src 覆寫 dest結束的 null 字元。 如果 null 位元組出現在 src、count 附加前,_mbsnbcat_s 從 src中附加所有位元組,由 null 字元決定。 如果 count 大於 src 的長度,長度為 src 而非 count 的。 結果字串是被 NULL 字元結束。 如果在重疊的字串之間執行複製,則行為是未定義的。
輸出值會受到地區設定的 LC_CTYPE 類別設定影響。如需詳細資訊,請參閱 setlocale、_wsetlocale。 這些功能的版本是相同的,不同之處在於不具有的那些有 _l 後置字元使用當前區域設置和那些確實有 _l後置字元,而不是使用的傳入的區域設置參數。 如需詳細資訊,請參閱地區設定。
C++ 利用多載樣板簡化了這些函式的使用方式。多載可自動推斷緩衝區長度 (因而不須指定大小引數),也可以將不安全的舊函式自動取代成較新且安全的對應函式。 如需詳細資訊,請參閱安全範本多載。
這些函式的偵錯版本會先用 0xFD 填入緩衝區。 若要停用此行為,請使用 _CrtSetDebugFillThreshold。
一般文字常式對應
Tchar.h 常式 |
未定義 _UNICODE and _MBCS |
_MBCS 已定義 |
_UNICODE 已定義 |
---|---|---|---|
_tcsncat |
_mbsnbcat_s |
||
_tcsncat_s_l |
_strncat_s_l |
_mbsnbcat_s_l |
_wcsncat_s_l |
需求
常式 |
必要的標頭 |
---|---|
_mbsnbcat_s |
<mbstring.h> |
_mbsnbcat_s_l |
<mbstring.h> |
如需詳細的相容性資訊,請參閱相容性。
.NET Framework 對等用法
不適用。若要呼叫標準 C 函式,請使用 PInvoke。如需詳細資訊,請參閱平台叫用範例。
請參閱
參考
_strncnt、_wcsncnt、_mbsnbcnt、_mbsnbcnt_l、_mbsnccnt、_mbsnccnt_l
strncat、_strncat_l、wcsncat、_wcsncat_l、_mbsncat、_mbsncat_l
strncat_s、_strncat_s_l、wcsncat_s、_wcsncat_s_l、_mbsncat_s、_mbsncat_s_l