Sdílet prostřednictvím


_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é

_mbsseta _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 _strsetdatové 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