Sdílet prostřednictvím


_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é

_mbsnseta _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.

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