_strset
, _strset_l
, _wcsset
, , _wcsset_l
, _mbsset
, _mbsset_l
Dizenin karakterlerini bir karaktere ayarlar. Bu işlevlerin daha güvenli sürümleri mevcuttur; bkz. _strset_s
, _strset_s_l
, _wcsset_s
_wcsset_s_l
, , _mbsset_s
, _mbsset_s_l
.
Önemli
_mbsset
ve _mbsset_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.
Sözdizimi
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
Null ile sonlandırılan dize ayarlanacak.
c
Karakter ayarı.
locale
Kullanılacak yerel ayar.
Dönüş değeri
Değiştirilen dizeye bir işaretçi döndürür.
Açıklamalar
İşlev, _strset
tüm karakterlerini (sonlandırıcı null karakter hariç) str
c
olarak ayarlar ve öğesine dönüştürülür char
. _wcsset
ve _mbsset_l
geniş karakterli ve çok baytlı karakter sürümleridir _strset
ve bağımsız değişkenlerin ve dönüş değerlerinin veri türleri buna göre değişir. Bu işlevler aynı şekilde davranır.
_mbsset
parametrelerini doğrular. Boş bir işaretçiysestr
, 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, _mbsset
döndürür NULL
ve olarak EINVAL
ayarlanırerrno
. _strset
ve _wcsset
parametrelerini doğrulamaz.
Çı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 sürümleri aynıdır, ancak son ekine sahip _l
olmayanlar geçerli yerel ayarı, son ekine sahip _l
olanlar ise geçirilen yerel ayar parametresini kullanır. Daha fazla bilgi için bkz . Yerel Ayar.
Önemli
Bu işlevler arabellek taşması tehditlerine karşı savunmasız olabilir. Arabellek taşmaları, sistem saldırıları için kullanılabilir çünkü bunlar gereksiz ayrıcalık yükseltmesine neden olabilir. Daha fazla bilgi için bkz . Arabellek taşmalarından kaçınma.
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
TCHAR.H yordamı | _UNICODE ve _MBCS tanımlanmadı |
_MBCS tanımlanan |
_UNICODE tanımlanan |
---|---|---|---|
_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> |
Daha fazla uyumluluk bilgisi 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 );
}
Before: Fill the string with something.
After: *******************************
Ayrıca bkz.
Dize işleme
Yerel ayar
Çok baytlı karakter dizilerinin yorumlanması
_mbsnbset
, _mbsnbset_l
memset
, wmemset
strcat
, wcscat
, _mbscat
strcmp
, wcscmp
, _mbscmp
strcpy
, wcscpy
, _mbscpy
_strnset
, _strnset_l
, _wcsnset
, , _wcsnset_l
, _mbsnset
, _mbsnset_l