_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l

Bir dizenin karakterlerini verilen bir karakterde başlatır.Bu _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l sürümlerinde CRT'deki Güvenlik Özellikleri içinde açıklandığı gibi güvenlik geliştirmeleri mevcut olabilir.

Önemli notÖnemli

_mbsnset_s ve _mbsnset_s_l Windows Çalışma Zamanı'nda yürütülen uygulamalarda kullanılamazlar.Daha fazla bilgi için bkz /ZW ile desteklenmeyen CRT işlevleri.

errno_t _strnset_s(
   char *str,
   size_t numberOfElements,
   int c,
   size_t count 
);
errno_t _strnset_s_l(
   char *str,
   size_t numberOfElements,
   int c,
   size_t count,
   locale_t locale
);
errno_t _wcsnset_s(
   wchar_t *str,
   size_t numberOfElements,
   wchar_t c,
   size_t count 
);
errno_t _wcsnset_s_l(
   wchar_t *str,
   size_t numberOfElements,
   wchar_t c,
   size_t count,
   _locale_t locale
);
errno_t _mbsnset_s(
   unsigned char *str,
   size_t numberOfElements,
   unsigned int c,
   size_t count 
);
errno_t _mbsnset_s_l(
   unsigned char *str,
   size_t numberOfElements,
   unsigned int c,
   size_t count,
   _locale_t locale
);

Parametreler

  • str
    Değiştirilecek dize.

  • numberOfElements
    str arabelleğinin boyutu.

  • c
    Karakter ayarı.

  • count
    Ayarlanacak karakter sayısı.

  • locale
    Kullanılacak yerel ayar.

Dönüş Değeri

Başarılıysa sıfır; aksi halde hata kodu.

Bu işlevler, kendi bağımsız değişkenlerini doğrular.str geçerli bir null sonlandırılan dize değilse veya bağımsız değişkenin boyutu 0 değerinden küçük veya eşitse Parametre Doğrulama konusunda açıklandığı gibi geçersiz parametre işleyicisi çağrılır.Yürütmenin devam etmesine izin verilirse, bu işlevler bir hata kodu döndürür ve errno öğesini bu hata koduna ayarlar.Varsayılan hata kodu, daha özgül bir değer geçerli değilse EINVAL'dır.

Notlar

Bu işlevler, en çok, str'nin ilk count karakterini c olarak ayarlar.count boyutu str boyutundan büyükse, count yerine str uzunluğu kullanılır.count öğesi numberOfElements öğesinden büyükse ve bu parametrelerin her ikisi str öğesinin boyutundan büyükse, hata oluşur.

_wcsnset_s ve _mbsnset_s _strnset_s öğesinin geniş karakter ve çok baytlı karakter sürümleridir._wcsnset_s dize bağımsız değişkeni, geniş karakterli bir dize; _mbsnset_s dize bağımsız değişkeni çok baytlı karakter dizesi.Bu üç işlev, aynı şekilde davranır.

Çıkış değeri, yerel ayarın LC_CTYPE kategori ayarından etkilenir; daha fazla bilgi için, bkz. setlocale.Bu işlevlerin, _l sonekine sahip olmayan sürümleri, yerel ayara bağlı davranışı için, geçerli yerel ayarı kullanır; _l sonekine sahip sürümler, bunun yerine iletilmiş yerel ayar parametresini kullanması hariç aynıdır.Daha fazla bilgi için bkz. Yerel Ayar.

Bu işlevlerin hata ayıklama sürümleri arabelleği ilk önce 0xFD ile doldurur.Bu davranışı devre dışı bırakmak için _CrtSetDebugFillThreshold kullanın.

Genel Metin Yordam Eşleşmeleri

TCHAR.H yordamı

_UNICODE & _MBCS tanımlanmamış

_MBCS tanımlanmış

_UNICODE tanımlanmış

_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

_strnset_s

<string.h>

_strnset_s_l

<tchar.h>

_wcsnset_s

<string.h> or <wchar.h>

_wcsnset_s_l

<tchar.h>

_mbsnset_s, _mbsnset_s_l

<mbstring.h>

Ek uyumluluk bilgileri için bkz. Uyumluluk.

Örnek

// crt_strnset_s.c
#include <string.h>
#include <stdio.h>

int main( void )
{
   char string[15] = "This is a test";
   /* Set not more than 4 characters of string to be *'s */
   printf( "Before: %s\n", string );
   _strnset_s( string, sizeof(string), '*', 4 );
   printf( "After:  %s\n", string );
}
  

.NET Framework Eşdeğeri

System::String::Replace

Ayrıca bkz.

Başvuru

Dize Düzenlemesi (CRT)

Yerel Ayar

Çok Baytlı Karakter Sıralarının Yorumu

strcat, wcscat, _mbscat

strcmp, wcscmp, _mbscmp

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l