共用方式為


_mbsnbcat_s, _mbsnbcat_s_l

最多附加至多位元組字元字串,這是另一個多位元組字元字串的前 n 個位元組。 這些函式是 具有安全性增強功能的 _mbsnbcat_mbsnbcat_l 版本,如 CRT 中的安全性功能中所述。

重要

這個 API 不能用於在 Windows 執行階段中執行的應用程式。 如需詳細資訊,請參閱 CRT functions not supported in Universal Windows Platform apps (通用 Windows 平台應用程式中不支援的 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 任意 任意 EINVAL
任意 <= 0 任意 EINVAL
任意 任意 NULL EINVAL

如果發生任何錯誤狀況,函式會產生不正確參數錯誤,如參數驗證 中所述 。 如果已處理此錯誤,則此函式會傳回 EINVAL,並將 errno 設定為 EINVAL

備註

_mbsnbcat_s 函式會將 src 的最多前 count 個位元組附加至 dest。 如果 中 dest 緊接在 null 字元前面的位元組是前置位元組,則會由 的初始位元組 src 覆寫。 否則,src 的初始位元組會覆寫 dest 之結束的 null 字元。 如果在已附加 count 個位元組之前,於 src 出現 null 位元組,則 _mbsnbcat_s 會附加 src 之中直到該 null 字元為止的所有位元組。 如果 count 大於 src 的長度,則會使用 src 的長度來取代 count。 此產生的字串便會由 null 字元所終止。 如果在重疊的字串之間執行複製,則行為是未定義的。

輸出值會受到 LC_CTYPE 地區設定之類別設定的影響。 如需詳細資訊,請參閱setlocale。 這些函式的版本均相同,除了沒有 _l 後置字元的函式會使用目前的地區設定,而具有 _l 後置字元的函式會改用傳入的地區設定參數。 如需詳細資訊,請參閱 Locale

在 C++ 中,範本多載會簡化這些函式的使用。 多載可以自動推斷緩衝區長度,而不需要指定 size 引數,而且它們可以自動使用較新的、更安全的函式來取代較舊、較不安全的函式。 如需詳細資訊,請參閱 保護範本多載

這些函式的偵錯程式庫版本會先將緩衝區填入0xFE。 若要停用此行為,請使用 _CrtSetDebugFillThreshold

根據預設,此函式的全域狀態會限定于應用程式。 若要變更此行為,請參閱 CRT 中的全域狀態。

泛型文字常式對應

Tchar.h 常規 _UNICODE_MBCS 未定義 _MBCS 定義 _UNICODE 定義
_tcsncat_s strncat_s _mbsnbcat_s wcsncat_s
_tcsncat_s_l _strncat_s_l _mbsnbcat_s_l _wcsncat_s_l

需求

常式 必要的標頭
_mbsnbcat_s <mbstring.h>
_mbsnbcat_s_l <mbstring.h>

如需相容性詳細資訊,請參閱相容性

另請參閱

字串操作
_mbsnbcmp, _mbsnbcmp_l
_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l
_mbsnbcpy, _mbsnbcpy_l
_mbsnbcpy_s, _mbsnbcpy_s_l
_mbsnbset, _mbsnbset_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