_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l
Nastavuje znaky řetězce na znak.Bezpečnější verze těchto funkcí jsou k dispozici; viz _strset_s, _strset_s_l, _wcsset_s, _wcsset_s_l, _mbsset_s, _mbsset_s_l.
Důležité |
---|
_mbsset a _mbsset_l nelze použít v aplikacích, které jsou spouštěny v prostředí Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW. |
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 zakončený null pro nastavení.c
Nastavení znaků.locale
Použité národní prostředí.
Vrácená hodnota
Vrací ukazatel na upravený řetězec.
Poznámky
Funkce _strset nastaví všechny znaky (s výjimkou ukončujícího znak null) proměnné str na c, převedeno na char._wcsset a _mbsset_l jsou širokoznaká verze a vícebajtová znaková verze _strset, a proto se datové typy argumentů a vrácené hodnoty liší.Tyto funkce se chovají jinak identicky.
_mbsset ověří jeho parametry.Pokud str je ukazatel s hodnotou null, je vyvolána obslužná rutina neplatného parametru, jak je popsáno v Ověření parametru.Pokud provádění může pokračovat, _mbsset vrátí NULL a nastaví errno na EINVAL._strset a _wcsset neověří jejich parametry.
Výstupní hodnota je ovlivněna nastavením kategorie LC_CTYPE národního prostředí; viz setlocale, _wsetlocale pro další informace.Verze těchto funkcí jsou identické, s výjimkou toho, že ty, které nemají příponu _l používají aktuální národní prostředí, a ty, které mají příponu _l namísto toho používají předaný parametr národního prostředí.Další informace naleznete v tématu Národní prostředí.
Poznámka k zabezpečení |
---|
Tyto funkce by mohly být vystaveny ohrožení přetečení vyrovnávací paměti.Přetečení zásobníku lze použít pro systémové útoky, protože mohou způsobit neoprávněné zvýšení úrovně oprávnění.Další informace naleznete v tématu Předcházení přetečení vyrovnávací paměti. |
Rutinní mapování obecného textu
Rutina TCHAR.H |
_UNICODE & _MBCS není definováno |
_MBCS definováno |
_UNICODE definováno |
---|---|---|---|
_tcsset |
_strset |
_mbsset |
_wcsset |
_tcsset_l |
_strset_l |
_mbsset_l |
_wcsset_l |
Požadavky
Rutina |
Požadované záhlaví |
---|---|
_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ě naleznete 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 );
}
Ekvivalent v rozhraní .NET Framework
Nelze použít. Pokud chcete volat standardní funkci jazyka C, použijte PInvoke. Další informace naleznete v tématu Příklady vyvolání platformy.
Viz také
Referenční dokumentace
Výklad sekvencí vícebajtových znaků
_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l