_strnset
, _strnset_l
, _wcsnset
, _wcsnset_l
, , _mbsnset
_mbsnset_l
Inicializuje znaky řetězce na daný znak. Existují bezpečnější verze těchto funkcí; viz , , _wcsnset_s
_strnset_s_l
, _wcsnset_s_l
, _mbsnset_s
, _mbsnset_s_l
._strnset_s
Důležité
_mbsnset
a _mbsnset_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 *_strnset(
char *str,
int c,
size_t count
);
char *_strnset_l(
char *str,
int c,
size_t count,
_locale_t locale
);
wchar_t *_wcsnset(
wchar_t *str,
wchar_t c,
size_t count
);
wchar_t *_wcsnset_l(
wchar_t *str,
wchar_t c,
size_t count,
_locale_t locale
);
unsigned char *_mbsnset(
unsigned char *str,
unsigned int c,
size_t count
);
unsigned char *_mbsnset_l(
unsigned char *str,
unsigned int c,
size_t count,
_locale_t locale
);
Parametry
str
Řetězec, který se má změnit.
c
Nastavení znaků.
count
Počet znaků, které se mají nastavit
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 _strnset
nastaví maximálně první count
znaky str
na c
(převedené na char
). Je-li count
větší než délka str
, délka str
je použita místo count
.
_wcsnset
a _mbsnset
jsou širokoznakové a vícebajtové verze ._strnset
Řetězcové argumenty a návratová hodnota jsou řetězce širokého znaku _wcsnset
. Řetězcové argumenty a návratová _mbsnset
hodnota jsou řetězce s vícebajtovými znaky. Tyto tři funkce se chovají stejně jinak.
_mbsnset
ověřuje 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í, _mbsnset
vrátí NULL
a nastaví errno
hodnotu EINVAL
. _strnset
a _wcsnset
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í 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í.
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ý |
---|---|---|---|
_tcsnset |
_strnset |
_mbsnbset |
_wcsnset |
_tcsnset_l |
_strnset_l |
_mbsnbset_l |
_wcsnset_l |
Požadavky
Rutina | Požadovaný hlavičkový soubor |
---|---|
_strnset |
<string.h> |
_strnset_l |
<tchar.h> |
_wcsnset |
<string.h> nebo <wchar.h> |
_wcsnset_l |
<tchar.h> |
_mbsnset , _mbsnset_l |
<mbstring.h> |
Další informace o kompatibilitě najdete v tématu Kompatibilita.
Příklad
// crt_strnset.c
// compile with: /W3
#include <string.h>
#include <stdio.h>
int main( void )
{
char string[15] = "This is a test";
/* Set not more than 4 characters of string to be *'s */
printf( "Before: %s\n", string );
_strnset( string, '*', 4 ); // C4996
// Note: _strnset is deprecated; consider using _strnset_s
printf( "After: %s\n", string );
}
Before: This is a test
After: **** is a test
Viz také
Manipulace s řetězci
Národní prostředí
Interpretace vícebajtových sekvencí znaků
strcat
, , wcscat
_mbscat
strcmp
, , wcscmp
_mbscmp
strcpy
, , wcscpy
_mbscpy
_strset
, _strset_l
, _wcsset
, _wcsset_l
, , _mbsset
_mbsset_l