Aracılığıyla paylaş


_mbsnbset, _mbsnbset_l

Çok baytlı bir karakter dizesinin ilk n baytını belirtilen bir karaktere ayarlar.Bu işlevlerin daha güvenli sürümleri mevcuttur; bkz. _mbsnbset_s, _mbsnbset_s_l.

Önemli notÖnemli

Bu API, Windows Çalışma Zamanı'nda yürütülen uygulamalarda kullanılamaz.Daha fazla bilgi için bkz /ZW ile desteklenmeyen CRT işlevleri.

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
    Ayarlanacak bayt sayısı.

  • locale
    Kullanılacak yerel ayar.

Dönüş Değeri

_mbsnbset değiştirilen dizeye bir işaretçi döndür.

Notlar

_mbsnbset ve _mbsnbset_l işlevleri str dizesinin en çok ilk count baytını c yapar.count uzunluğu str uzunluğundan büyükse, count yerine str uzunluğu kullanılır.c çok baytlı bir karakterse ve count tarafından belirtilen son bayrak tamamen ayarlanamıyorsa, son bayt bir boş karakterle doldurulur._mbsnbset ve _mbsnbset_lsonlandırıcı null karakterini str öğesinin sonuna yerleştirmez.

cöğesinin count karakterleri yerine count baytları ayarlaması dışında, _mbsnset öğesi _mbsnbset ve _mbsnbset_l öğelerine benzerdir.

strNULL ise veya count sıfırsa bu işlev, Parametre Doğrulama konusunda açıklandığı gibi geçersiz parametre özel durumu oluşturur.Yürütmenin devam etmesine izin verilirse, errno öğesi EINVAL olarak ayarlanır ve işlev NULL döndürür.Ayrıca, c geçerli bir çok baytlı karakter değilse, errno öğesi EINVAL öğesine ayarlanır ve yerine boşluk kullanılır.

Çıkış değeri, yerel ayarın LC_CTYPE kategori ayarından etkilenir; daha fazla bilgi için, bkz. setlocale.Bu işlevin _mbsnbset sürümü yerel ayara bağımlı bu davranış için geçerli yerel ayarı kullanır; _mbsnbset_l sürümü, kendisine geçilen yerel ayar parametresini kullanması dışında aynıdır.Daha fazla bilgi için bkz. Yerel Ayar.

Güvenlik Notu Bu API, bir arabellek taşması sorunu oluştuğunda potansiyel bir tehlike doğurur.Arabellek taşması sorunları, haksız ayrıcalık sistem saldırı, bir unwarranted ayrıcalık yükseltilmesi ile sonuçlanan sık kullanılan bir sistem saldırısı yöntemidir.Daha fazla bilgi için, bkz. Arabellek Taşmalarını Önleme.

Genel Metin Yordam Eşleşmeleri

Tchar.h yordamı

_UNICODE ve _MBCS tanımlanmaz

_MBCS tanımlanmış

_UNICODE tanımlanmış

_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 ek uyumluluk bilgileri için bkz. Uyumluluk.

Ö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

Uygulanamaz. Standart C işlevini çağırmak için PInvoke kullanın. Daha fazla bilgi için bkz. Platform Çağırma Örnekleri.

Ayrıca bkz.

Başvuru

Dize Düzenlemesi (CRT)

_mbsnbcat, _mbsnbcat_l

_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l