共用方式為


_mbsnbset _mbsnbset_l

設定多位元組字元字串的第一個 n 位元組至指定的字元。更多這些函式的可用安全版本,請參閱 _mbsnbset_s _mbsnbset_s_l

重要事項重要事項

這個 API 不能用於 Windows 執行階段執行的應用程式。如需詳細資訊,請參閱 CRT 函式不支援使用 /ZW

unsigned char *_mbsnbset(
   unsigned char *str,
   unsigned int c,
   size_t count 
);
unsigned char *_mbsnbset_l(
   unsigned char *str,
   unsigned int c,
   size_t count,
   _locale_t locale
);

參數

  • str
    要修改的字串。

  • c
    單一位元組或多位元組字元設定。

  • count
    要設定的位元組數。

  • locale
    使用的地區設定。

傳回值

_mbsnbset 將指標傳回修改的字串。

備註

_mbsnbset 和 _mbsnbset_l 函式設定,最多,第一個 count 位元組 str 設為 c。如果 count 大於 str的長度,長度 str 而非 count。如果 c 是多位元組字元,無法完全設定成 count指定的最後一個位元組,最後一個位元組填補一個空白字元。_mbsnbset 和 _mbsnbset_l不會將結尾的 NULL 在 str。

_mbsnbset 和 _mbsnbset_l與 _mbsnset類似,不過,它將 count 位元組而不是 ccount 字元。

如果 str 是 NULL 或 count 為零,這個函式產生如 參數驗證中所述的無效參數例外狀況。如果允許繼續執行, errno 會被設置為 EINVAL 且 NULL 會回傳零。此外,否則,如果 c 不是有效的多位元組字元, errno 設定為 EINVAL ,並使用空格。

輸出值受地區設定的LC_CTYPE 分類設定所影響。如需詳細資訊,請參閱 setlocale 。這個函式 _mbsnbset 版本為這個地區設定相關行為使用目前的地區設定; _mbsnbset_l 版本相同,但是它地區設定參數傳遞的用途。如需詳細資訊,請參閱地區設定

安全性提示 這個 API 會導致緩衝區滿溢問題達到的潛在的威脅。緩衝區溢位問題是系統攻擊的常見方法,它會導致權限不確定性的增加。如需詳細資訊,請參閱 Avoiding Buffer Overruns

泛用文字常式對應

Tchar.h 常式

未定義的 _UNICODE 和 _MBCS

已定義 _MBCS

已定義 _UNICODE

_tcsnset

_strnset

_mbsnbset

_wcsnset

_tcsnset_l

_strnset_l

_mbsnbset_l

_wcsnset_l

需求

程序

必要的標頭檔

_mbsnbset

<mbstring.h>

_mbsnbset_l

<mbstring.h>

如需更多關於相容性的資訊,請參閱入門介紹中的 相容性 (Compatibility)

範例

// crt_mbsnbset.c
// compile with: /W3
#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( string, '*', 4 ); // C4996
   // Note; _mbsnbset is deprecated; consider _mbsnbset_s
   printf( "After:  %s\n", string );
}

Output

Before: This is a test
After:  **** is a test

.NET Framework 對等用法

不適用。若要呼叫標準 C 函式,請使用 PInvoke。如需更多的資訊,請參閱 Platform Invoke Examples

請參閱

參考

字串操作 (CRT)

_mbsnbcat _mbsnbcat_l

_strnset、 _strnset_l、 _wcsnset、 _wcsnset_l、 _mbsnset、 _mbsnset_l

_strset、 _strset_l、 _wcsset、 _wcsset_l、 _mbsset、 _mbsset_l