_strset
, _strset_l
, _wcsset
, _wcsset_l
, , _mbsset
_mbsset_l
Nastaví znaky řetězce na znak. K dispozici jsou bezpečnější verze těchto funkcí; viz , , _wcsset_s
_strset_s_l
, _wcsset_s_l
, _mbsset_s
, _mbsset_s_l
._strset_s
Důležité
_mbsset
a _mbsset_l
nelze je použít v aplikacích, které se spouští v prostředí Windows Runtime. Další informace najdete v tématu Funkce CRT, které nejsou v aplikacích Univerzální platforma Windows podporované.
Syntaxe
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
);
Parametry
str
Řetězec ukončený hodnotou null, který se má nastavit.
c
Nastavení znaků.
locale
Národní prostředí, které se má použít.
Vrácená hodnota
Vrátí ukazatel na změněný řetězec.
Poznámky
Funkce _strset
nastaví všechny znaky (s výjimkou ukončujícího znaku null) str
na c
, převedeny na char
. _wcsset
a _mbsset_l
jsou širokoznakové a vícebajtové verze a _strset
datové typy argumentů a návratové hodnoty se odpovídajícím způsobem liší. Tyto funkce se chovají stejně jinak.
_mbsset
ověří jeho parametry. Pokud str
je ukazatel null, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud je povoleno pokračovat provádění, _mbsset
vrátí NULL
a nastaví errno
hodnotu EINVAL
. _strset
a _wcsset
neověřujte jejich parametry.
Výstupní hodnota je ovlivněna nastavením LC_CTYPE
nastavení kategorie národního prostředí. Další informace najdete na webu setlocale
. Verze těchto funkcí jsou stejné, s výjimkou těch, které nemají příponu _l
, používají aktuální národní prostředí a ty, které mají příponu _l
, místo toho používají předaný parametr národního prostředí. Další informace naleznete v tématu Národní prostředí.
Důležité
Tyto funkce můžou být ohrožené hrozbami přetečení vyrovnávací paměti. Přetečení vyrovnávací paměti se dá použít pro systémové útoky, protože můžou způsobit neoprávněné zvýšení oprávnění. Další informace najdete v tématu Zabránění přetečení vyrovnávací paměti.
Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.
Mapování rutin obecného textu
Rutina TCHAR.H | _UNICODE a _MBCS není definován |
_MBCS definovaný |
_UNICODE definovaný |
---|---|---|---|
_tcsset |
_strset |
_mbsset |
_wcsset |
_tcsset_l |
_strset_l |
_mbsset_l |
_wcsset_l |
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_strset |
<string.h> |
_strset_l |
<tchar.h> |
_wcsset |
<string.h> nebo <wchar.h> |
_wcsset_l |
<tchar.h> |
_mbsset , _mbsset_l |
<mbstring.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// 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: *******************************
Viz také
Manipulace s řetězci
Národní prostředí
Interpretace vícebajtových sekvencí znaků
_mbsnbset
, _mbsnbset_l
memset
, wmemset
strcat
, , wcscat
_mbscat
strcmp
, , wcscmp
_mbscmp
strcpy
, , wcscpy
_mbscpy
_strnset
, _strnset_l
, _wcsnset
, _wcsnset_l
, , _mbsnset
_mbsnset_l