_mbsnbset_s _mbsnbset_s_l
設定多位元組字元字串的第一個 n 位元組至指定的字元。 _mbsnbset _mbsnbset_l 這兩個版本有安全性增強,如 安全性功能,則在 CRT 中中所述。
重要
這個應用程式開發介面無法用來在 Windows 執行階段中執行的應用程式。如需詳細資訊,請參閱 CRT 函式不支援使用 /ZW。
errno_t _mbsnbset_s(
unsigned char *str,
size_t size,
unsigned int c,
size_t count
);
errno_t _mbsnbset_s_l(
unsigned char *str,
size_t size,
unsigned int c,
size_t count,
_locale_t locale
);
template <size_t size>
errno_t _mbsnbset_s(
unsigned char (&str)[size],
unsigned int c,
size_t count
); // C++ only
template <size_t size>
errno_t _mbsnbset_s_l(
unsigned char (&str)[size],
unsigned int c,
size_t count,
_locale_t locale
); // C++ only
參數
str
要修改的字串。size
字串緩衝區的大小。c
單一位元組或多位元組字元設定。count
要設定的位元組數。locale
使用的地區設定。
傳回值
零,如果成功;否則,錯誤碼。
備註
_mbsnbset_s 和 _mbsnbset_s_l 函式設定,最多,第一個 count 位元組 str 設為 c。 如果 count 大於 str的長度,長度 str 而非 count。 如果 c 是多位元組字元,無法完全設定至由 count指定的最後一個位元組,最後一個位元組填補一個空白字元。 _mbsnbset_s 和 _mbsnbset_s_l 不會將結尾的 NULL 在 str。
_mbsnbset_s 和 _mbsnbset_s_l 類別與 _mbsnset類似,不過,它們設定 count 位元組而不是 ccount 字元。
如果 str 是 NULL 或 count 為零,這個函式產生無效參數例外狀況,如 參數驗證中所述。 如果允許繼續執行, errno 會被設置為 EINVAL 且 NULL 會回傳零。 此外,否則,如果 c 不是有效的多位元組字元, errno 設定為 EINVAL ,並使用空格。
輸出值受地區設定的 LC_CTYPE 類別設定的設定所影響;請參閱 setlocale _wsetlocale 以取得詳細資訊。 這個函式 _mbsnbset_s 版本為這個地區設定相關行為使用目前的地區設定; _mbsnbset_s_l 版本相同,但是使用傳遞的地區設定參數。 如需詳細資訊,請參閱地區設定。
在 C++ 中,這些函式會由範本多載簡化;多載可自動推斷緩衝區長度進而排除事件的事件引數。 如需詳細資訊,請參閱安全範本多載。
這些函式的偵錯版本會先填入 0xFD 緩衝區。 若要停用此行為,請使用 _CrtSetDebugFillThreshold 。
泛用文字常式對應
Tchar.h 常式 |
未定義的 _UNICODE 和 _MBCS |
已定義 _MBCS |
已定義 _UNICODE |
---|---|---|---|
_tcsnset_s |
_strnset_s |
_mbsnbset_s |
_wcsnset_s |
_tcsnset_s_l |
_strnset_s _l |
_mbsnbset_s_l |
_wcsnset_s_l |
需求
程序 |
必要的標頭檔 |
---|---|
_mbsnbset_s |
<mbstring.h> |
_mbsnbset_s_l |
<mbstring.h> |
如需相容性詳細資訊,請參閱 相容性。
範例
// crt_mbsnbset_s.c
#include <mbstring.h>
#include <stdio.h>
int main( void )
{
char string[15] = "This is a test";
/* Set not more than 4 bytes of string to be *'s */
printf( "Before: %s\n", string );
_mbsnbset_s( string, sizeof(string), '*', 4 );
printf( "After: %s\n", string );
}
Output
.NET Framework 對等用法
不適用。若要呼叫標準 C 函式,請使用 PInvoke。如需詳細資訊,請參閱平台叫用範例。
請參閱
參考
_strnset、 _strnset_l、 _wcsnset、 _wcsnset_l、 _mbsnset、 _mbsnset_l