分享方式:


_mbsnbcpy_s, _mbsnbcpy_s_l

字串的 n 個字節複製到目的地字串。 這些版本的 _mbsnbcpy具有_mbsnbcpy_l安全性增強功能,如CRT中的安全性功能中所述

重要

這個 API 不能用於在 Windows 執行階段中執行的應用程式。 如需詳細資訊,請參閱 CRT functions not supported in Universal Windows Platform apps (通用 Windows 平台應用程式中不支援的 CRT 函式)。

語法

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

參數

strDest
要複製的字元字串之目的地。

sizeInBytes
目的緩衝區大小。

strSource
要複製的字元字串。

count
要複製的位元組數目。

locale
要使用的地區設定。

傳回值

如果成功,則為零;如果傳入錯誤的參數,則為 EINVAL

備註

_mbsnbcpy_s 函式從 strSource 複製 count 個位元組到 strDest。 如果 count 超過的大小strDest,輸入字串是 Null 指標,或 count sizeInBytes 為 0,則函式會叫用無效的參數處理程式,如參數驗證中所述。 如果允許繼續執行,則函式會傳回 EINVAL。 如果來源和目的字串重疊,則 _mbsnbcpy_s 的行為未定義。

輸出值會受到設定地區設定之 LC_CTYPE 類別設定的影響。 如需詳細資訊,請參閱setlocale。 這些沒有 _l 後置字元的函式版本,會針對此與地區設定相關的行為使用目前的地區設定;具有 _l 後置字元的版本也一樣,只不過它們會改用傳遞的地區設定參數。 如需詳細資訊,請參閱 Locale

注意

不同於此函式的不安全版本,_mbsnbcpy_s 不會執行任何 Null 填補,且一律會以 Null 結束字串。

C++ 利用多載樣板簡化了這些函式的使用方式。多載可自動推斷緩衝區長度 (因而不須指定大小引數),也可以將不安全的舊函式自動取代成較新且安全的對應函式。 如需詳細資訊,請參閱安全範本多載

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

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

一般文字常式對應

Tchar.h 常式 _UNICODE_MBCS 未定義 _MBCS 已定義 _UNICODE 已定義
_tcsncpy_s _strncpy_s _mbsnbcpy_s _wcsncpy_s
_tcsncpy_s_l _strncpy_s_l _mbsnbcpy_s_l _wcsncpy_s_l

需求

常式 必要的標頭
_mbsnbcpy_s <mbstring.h>
_mbsnbcpy_s_l <mbstring.h>

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

另請參閱

字串操作
_mbsnbcat, _mbsnbcat_l
_mbsnbcmp, _mbsnbcmp_l
_strncnt、、_wcsncnt_mbsnbcnt_mbsnbcnt_l、、_mbsnccnt_mbsnccnt_l
_mbsnbicmp, _mbsnbicmp_l
_mbsnbset, _mbsnbset_l
strncpy、、_strncpy_lwcsncpy_wcsncpy_l、、_mbsncpy_mbsncpy_l