_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l
Bir dizenin karakter bir karakter için ayarlar. Bu işlevlerin daha güvenli sürümlerinde kullanılabilir; see _strset_s, _strset_s_l, _wcsset_s, _wcsset_s_l, _mbsset_s, _mbsset_s_l.
Önemli
_mbssetve _mbsset_l yürütün uygulamalarda kullanılamaz Windows Çalışma Zamanı.Daha fazla bilgi için bkz: /zw ile desteklenmeyen crt işlevlerinin.
char *_strset(
char *str,
int c
);
char *_strset_l(
char *str,
int c,
locale_t locale
);
wchar_t *_wcsset(
wchar_t *str,
wchar_t c
);
wchar_t *_wcsset_l(
wchar_t *str,
wchar_t c,
locale_t locale
);
unsigned char *_mbsset(
unsigned char *str,
unsigned int c
);
unsigned char *_mbsset_l(
unsigned char *str,
unsigned int c,
_locale_t locale
);
Parametreler
str
Ayarlanacak null sonlandırılmış bir dize.c
Karakter ayarı.locale
Kullanılacak yerel ayarı.
Dönüş Değeri
Bir işaretçi değiştirilen dize olarak döndürür.
Notlar
_strset İşlevi ayarlar (sondaki boş karakter dışında) tüm karakterlerin, str için c, dönüştürülmüş için char. _wcssetve _mbsset_l geniş karakter ve çok baytlı karakter sürümleri _strset, ve bağımsız değişkenleri ve dönüş değerleri veri türlerini buna göre değişir. Bu işlevler aynı şekilde aksi davranır.
_mbssetparametreleri doğrular. str Bir null işaretçi açıklandığı gibi geçersiz bir parametre işleyici çağrılır Parametre doğrulama. Yürütülmesine devam etmek için izin verilip verilmediğini_mbsset döndüren NULL ve errno için EINVAL. _strsetve _wcsset kendi parametreleri doğrulamaz.
Çıkış değeri ayarı tarafından etkilenen LC_CTYPE ; bölgesel ayar kategorisi bkz: setlocale, _wsetlocale daha fazla bilgi için. Dışında olanlar, yoksa, bu işlevler sürümleri aynıdır sahip _l soneki kullanan yerel ve var olanları _l soneki yerine geçirilen yerel parametresini kullanın. Daha fazla bilgi için bkz. Yerel ayar.
Güvenlik Notu |
---|
Bu işlevler, arabellek taşması tehditlere karşı savunmasız kalabilir.Unwarranted bir ayrıcalık yükselmesine neden olabilir çünkü arabellek taşması sistem saldırıları için kullanılabilir.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 & _mbcs tanımlanmamış |
Tanımlanan _mbcs |
Tanımlanan _UNICODE |
---|---|---|---|
_tcsset |
_strset |
_mbsset |
_wcsset |
_tcsset_l |
_strset_l |
_mbsset_l |
_wcsset_l |
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
_strset |
<string.h> |
_strset_l |
<tchar.h> |
_wcsset |
<string.h> veya <wchar.h> |
_wcsset_l |
<tchar.h> |
_mbsset, _mbsset_l |
<mbstring.h> |
Ek uyumluluk bilgileri için bkz: Uyumluluk.
Örnek
// crt_strset.c
// compile with: /W3
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[] = "Fill the string with something.";
printf( "Before: %s\n", string );
_strset( string, '*' ); // C4996
// Note: _strset is deprecated; consider using _strset_s instead
printf( "After: %s\n", string );
}
.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
Yorumunu çok baytlı karakter dizileri
_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l