_strset_s
, _strset_s_l
, _wcsset_s
, _wcsset_s_l
, , _mbsset_s
_mbsset_s_l
Nastaví znaky řetězce na znak. Tyto verze , , _strset_l
_wcsset
, _wcsset_l
, _mbsset
mají _mbsset_l
vylepšení zabezpečení, jak je popsáno v funkcích zabezpečení v CRT._strset
Důležité
_mbsset_s
a _mbsset_s_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
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 ukončený hodnotou null, který se má nastavit.
numberOfElements
Velikost str
vyrovnávací paměti.
c
Nastavení znaků.
locale
Národní prostředí, které se má použít.
Vrácená hodnota
Nula v případě úspěchu, jinak kód chyby.
Tyto funkce ověřují své argumenty. Pokud str
je ukazatel null nebo numberOfElements
je argument menší nebo roven 0, nebo blok předaný není ukončen null-terminated, je vyvolána neplatná obslužná rutina parametru, jak je popsáno v ověření parametru. Pokud provádění může pokračovat, tyto funkce se vrátí EINVAL
a nastaví errno
na EINVAL
.
Poznámky
Funkce _strset_s
nastaví všechny znaky str
na c
(převedené na char
), s výjimkou ukončujícího znaku null. _wcsset_s
a _mbsset_s
jsou širokoznakové a vícebajtové verze ._strset_s
Datové typy argumentů a návratové hodnoty se odpovídajícím způsobem liší. Tyto funkce se chovají stejně jinak.
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í bez _l
přípony používají aktuální národní prostředí pro toto chování závislé na národním prostředí. Verze s _l
příponou jsou shodné s tím rozdílem, že místo toho používají předaný parametr národního prostředí. Další informace naleznete v tématu Národní prostředí.
Verze knihovny ladění těchto funkcí nejprve vyplní vyrovnávací paměť 0xFE. Chcete-li toto chování zakázat, použijte _CrtSetDebugFillThreshold
.
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_s |
_strset_s |
_mbsset_s |
_wcsset_s |
_tcsset_s_l |
_strset_s_l |
_mbsset_s_l |
_wcsset_s_l |
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_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ě najdete 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 );
}
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