Aracılığıyla paylaş


_mbsnbset, _mbsnbset_l

İlk olarak n bir çok baytlı karakter dizesi için belirtilen karakter bayt.Bu işlevlerin daha güvenli sürümlerinde kullanılabilir; see _mbsnbset_s, _mbsnbset_s_l.

Önemli notÖnemli

Bu API, Windows çalışma zamanı yürütme uygulamalarda kullanılamaz.Daha fazla bilgi için bkz: /zw ile desteklenmeyen crt işlevlerinin.

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
);

Parametreler

  • str
    Değiştirilecek dize.

  • c
    Tek baytlı veya çok baytlı karakter ayarı.

  • count
    Ayarlamak için bayt sayısı.

  • locale
    Kullanılacak yerel ayarı.

Dönüş Değeri

_mbsnbsetbir işaretçi değiştirilen dize olarak döndürür.

Notlar

_mbsnbset Ve _mbsnbset_l işlevlerini ayarlama, en çok, ilk count bayt str için c.count Uzunluğundan daha büyük str, uzunluğu, str yerine kullanılan count.c Çok baytlı bir karakter ve tamamen tarafından belirlenen son bayt ayarlanamaz count, son bayt boş karakterle sıfır eklenir._mbsnbsetve _mbsnbset_l bir sonlandırma yerleştirmez sonunda null str.

_mbsnbsetve _mbsnbset_l benzer şekilde, _mbsnset, ayarlar dışında count bayt yerine count karakter c.

str Olan NULL veya count sıfırsa, açıklandığı gibi bu işlevi geçersiz bir parametre bir özel durum oluşturur Parametre doğrulama.Yürütülmesine devam etmek için izin verilip verilmediğini errno ayarlamak EINVAL ve işlev NULL.Ayrıca, c geçerli bir çok baytlı karakter değil errno ayarlamak EINVAL ve bir boşluk yerine kullanılır.

Çıkış değeri ayarı tarafından etkilenen LC_CTYPE ; bölgesel ayar kategorisi bkz: setlocale daha fazla bilgi için._mbsnbset Bu işlev sürümünü kullanan yerel bu yerel ayara bağımlı davranışı; _mbsnbset_l bunun yerine geçirilen yerel parametre kullanmak dışında sürüm aynıdır.Daha fazla bilgi için bkz. Yerel ayar.

Güvenlik notu bu API, duruma göre bir arabellek taşması sorunu potansiyel bir tehlike doğurur.Arabellek taşması sorunları sistem saldırı, içinde unwarranted bir ayrıcalık yükselmesine neden sık kullanılan bir yöntemdir.Daha fazla bilgi için bkz: Kaçınma arabelleğin taşmasına neden.

Genel metin eşlemeleri yordamına girildi

Tchar.h yordamına girildi

_UNICODE ve _mbcs tanımlanmamış

Tanımlanan _mbcs

Tanımlanan _UNICODE

_tcsnset

_strnset

_mbsnbset

_wcsnset

_tcsnset_l

_strnset_l

_mbsnbset_l

_wcsnset_l

Gereksinimler

Yordamı

Gerekli başlık

_mbsnbset

<mbstring.h>

_mbsnbset_l

<mbstring.h>

Daha fazla uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

// 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 );
}

Çıktı

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

.NET Framework Eşdeğeri

Yoktur. Standart c işlevi çağırmak için kullanın PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.

Ayrıca bkz.

Başvuru

Dize işlemleri (crt)

_mbsnbcat, _mbsnbcat_l

_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l