_strset_s, _strset_s_l, _wcsset_s, _wcsset_s_l, _mbsset_s, _mbsset_s_l
Nastavuje znaky řetězce na znak.Tyto verze _strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l mají rozšíření zabezpečení popsaná v tématu Funkce zabezpečení v CRT.
Důležité |
---|
_mbsset_s a _mbsset_s_l nelze použít v aplikacích, které jsou spouštěny v modulu Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW. |
errno_t _strset_s(
char *str,
size_t numberOfElements,
int c
);
errno_t _strset_s_l(
char *str,
size_t numberOfElements,
int c,
locale_t locale
);
errno_t _wcsset_s(
wchar_t *str,
size_t numberOfElements,
wchar_t c
);
errno_t *_wcsset_s_l(
wchar_t *str,
size_t numberOfElements,
wchar_t c,
locale_t locale
);
errno_t _mbsset_s(
unsigned char *str,
size_t numberOfElements,
unsigned int c
);
errno_t _mbsset_s_l(
unsigned char *str,
size_t numberOfElements,
unsigned int c,
_locale_t locale
);
Parametry
str
Řetězec zakončený null pro nastavení.numberOfElements
Velikost vyrovnávací paměti str.c
Nastavení znaků.locale
Použité národní prostředí.
Vrácená hodnota
Nula v případě úspěchu; jinak kód chyby.
Tyto funkce ověřují své argumenty.Pokud str je ukazatel s hodnotou null, nebo argument numberOfElements je menší nebo roven 0, nebo blok předaný není zakončen hodnotou null, pak 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, vrátí tyto funkce EINVAL a nastaví errno na EINVAL.
Poznámky
Funkce _strset_s nastaví všechny znaky proměnné str na c (převedeno na char) s výjimkou ukončujícího znaku null._wcsset_s a _mbsset_s jsou širokoznaká verze a vícebajtová znaková verze _strset_s.Datové typy argumentů a vrácené hodnoty se příslušně liší.Tyto funkce se chovají jinak identicky.
Výstupní hodnota je ovlivněna nastavením kategorie LC_CTYPE národního prostředí; viz setlocale pro další informace.Verze těchto funkcí bez přípony _l používají aktuální národní prostředí pro toto chování závislé na národním prostředí. Verze s příponou _l jsou stejné s tím rozdílem, že používají předaný parametr národního prostředí.Další informace naleznete v tématu Národní prostředí.
Ladicí verze těchto funkcí nejprve naplní vyrovnávací paměť hodnotou 0xFD.Chcete-li zakázat toto chování, použijte _CrtSetDebugFillThreshold.
Rutinní mapování obecného textu
Rutina TCHAR.H |
_UNICODE & _MBCS není definováno |
_MBCS definováno |
_UNICODE definováno |
---|---|---|---|
_tcsset_s |
_strset_s |
_mbsset_s |
_wcsset_s |
_tcsset_s_l |
_strset_s_l |
_mbsset_s_l |
_wcsset_s_l |
Požadavky
Rutina |
Požadované záhlaví |
---|---|
_strset_s |
<string.h> |
_strset_s_l |
<tchar.h> |
_wcsset_s |
<string.h> nebo <wchar.h> |
_wcsset_s_l |
<tchar.h> |
_mbsset_s, _mbsset_s_l |
<mbstring.h> |
Další informace o kompatibilitě naleznete v tématu Kompatibilita.
Příklad
// crt_strset_s.c
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
int main( void )
{
char string[] = "Fill the string with something.";
printf( "Before: %s\n", string );
_strset_s( string, _countof(string), '*' );
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