Sdílet prostřednictvím


_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, _mbssetmají_mbsset_lvylepšení zabezpečení, jak je popsáno v funkcích zabezpečení v CRT._strset

Důležité

_mbsset_sa _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_sa _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 Definovány _UNICODE Definovány
_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