Aracılığıyla paylaş


_mbsnbset_s, _mbsnbset_s_l

İlk Ayarlar n bir çok baytlı karakter dizesi için belirtilen karakter bayt.Bu sürümleri _mbsnbset, _mbsnbset_l açıklandığı gibi güvenlik geliştirmeleri, sahip crt güvenlik özellikleri.

Önemli notÖnemli

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

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

Parametreler

  • str
    Değiştirilecek dize.

  • size
    Dizesi arabelleği boyutu.

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

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

  • locale
    Kullanılacak yerel ayarı.

Dönüş Değeri

Sıfır başarılı olursa; Aksi durumda, bir hata kodu.

Notlar

_mbsnbset_s Ve _mbsnbset_s_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 Tarafından belirtilen tamamen son bayt ayarlanamaz ve çok baytlı bir karakter count, son bayt boş karakterle sıfır eklenir._mbsnbset_sve _mbsnbset_s_l bir sonlandırma yerleştirmeyin sonunda null str.

_mbsnbset_sve _mbsnbset_s_l benzer _mbsnset, bunlar ayarlamak 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, _wsetlocale daha fazla bilgi için._mbsnbset_s Bu işlev sürümünü kullanan yerel bu yerel ayara bağımlı davranışı; _mbsnbset_s_l sürümüdür özdeş dışında bunun yerine geçirilen yerel parametre kullanır.Daha fazla bilgi için bkz. Yerel ayar.

C++'da, bu işlevlerini şablon aşırı yükleme tarafından Basitleştirilmiş; aşırı yükleme, arabellek uzunluğu otomatik olarak gerçekleştirip ve böylece size baðýmsýz deðiþkeni belirtmek için gereksinimini ortadan kaldırır.Daha fazla bilgi için bkz. Güvenli şablon aşırı yükleme.

Bu işlevleri hata ayıklama sürümleri arabellek 0xFD ile doldurun.Bu davranışı devre dışı bırakmak için _CrtSetDebugFillThreshold.

Genel metin eşlemeleri yordamına girildi

Tchar.h yordamına girildi

_UNICODE ve _mbcs tanımlanmamış

Tanımlanan _mbcs

Tanımlanan _UNICODE

_tcsnset_s

_strnset_s

_mbsnbset_s

_wcsnset_s

_tcsnset_s_l

_strnset_s _l

_mbsnbset_s_l

_wcsnset_s_l

Gereksinimler

Yordamı

Gerekli başlık

_mbsnbset_s

<mbstring.h>

_mbsnbset_s_l

<mbstring.h>

Daha fazla uyumluluk bilgileri için bkz: Uyumluluk.

Örnek

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

Çıktı

  

.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