Aracılığıyla paylaş


_strnset_s, _strnset_s_l, _wcsnset_s, , _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l, _tcsncset_s, _tcsncset_s_l

Bir dizenin karakterlerini belirli bir karaktere başlatır. , , , _wcsnset, _wcsnset_l, _mbsnset_l_mbsnset , _strnset_lsürümlerinin_strnset, CRT'deki Güvenlik özellikleri bölümünde açıklandığı gibi güvenlik geliştirmeleri vardır.

Önemli

_mbsnset_sve _mbsnset_s_l Windows Çalışma Zamanı yürütülen uygulamalarda kullanılamaz. Daha fazla bilgi için bkz. Evrensel Windows Platformu uygulamalarında desteklenmeyen CRT işlevleri.

ve için _tcsncset_s bkz. Genel metin yordamı eşlemeleri_tcsncset_s_l.

Sözdizimi

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
Arabelleğin str boyutu.

c
Karakter ayarı.

count
Ayarlanacak karakter sayısı.

locale
Kullanılacak yerel ayar.

Dönüş değeri

Başarılı olursa sıfır, aksi takdirde hata kodu.

Bu işlevler bağımsız değişkenlerini doğrular. Geçersiz olarak sonlandırılan geçerli bir dize değilse veya boyut bağımsız değişkeni 0'dan küçük veya buna eşitsestr, Parametre doğrulamasında açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, bu işlevler bir hata kodu döndürür ve bu hata koduna ayarlanır errno . Varsayılan hata kodu, daha belirli bir değerin geçerli olmamasıdır EINVAL .

Açıklamalar

Bu işlevler, en çok count ilk karakterlerini str olarak cayarlar. boyutu değerinden büyüksecount, boyutu str yerine countkullanılır.str değerinden büyükse numberOfElements ve her iki parametre de boyutundan strbüyükse count bir hata oluşur.

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

Çıkış değeri, yerel ayarın LC_CTYPE kategori ayarının ayarından etkilenir. Daha fazla bilgi için bkz. setlocale. Bu işlevlerin son eki olmayan _l sürümleri, bu yerel ayara bağımlı davranış için geçerli yerel ayarı kullanır; son ekine _l sahip sürümler, bunun yerine geçirilen yerel ayar parametresini kullanmaları dışında aynıdır. Daha fazla bilgi için bkz . Yerel Ayar.

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

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Genel metin yordamı eşlemeleri

Sütundaki tchar.h işlev, derleme zamanında tanımlanan karakter kümesine bağlı olarak diğer sütunlardaki işlevle eşler.

tchar.h işlevi _UNICODE ve _MBCS tanımlanmadı _MBCS tanımlanan _UNICODE tanımlanan
_tcsnset_s _strnset_s _mbsnbset_s _wcsnset_s
_tcsnset_s_l _strnset_s_l _mbsnbset_s_l _wcsnset_s_l
_tcsncset_s _strnset_s _mbsnset_s _wcsnset_s
_tcsncset_s_l _strnset_s_l _mbsnset_s_l _wcsnset_s_l

Gereksinimler

Yordam Gerekli başlık
_strnset_s <string.h>
_strnset_s_l <tchar.h>
_wcsnset_s <string.h> veya <wchar.h>
_wcsnset_s_l <tchar.h>
_mbsnset_s, _mbsnset_s_l <mbstring.h>

Daha fazla uyumluluk bilgisi 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 );
}
Before: This is a test
After:  **** is a test

Ayrıca bkz.

Dize işleme
Yerel ayar
Çok baytlı karakter dizilerinin yorumlanması
strcat, wcscat, _mbscat
strcmp, wcscmp, _mbscmp
strcpy, wcscpy, _mbscpy
_strset, _strset_l, _wcsset, , _wcsset_l, _mbsset, _mbsset_l