Sdílet prostřednictvím


_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l

Inicializuje znaky řetězce na daný znak.Tyto verze _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l mají rozšíření zabezpečení popsaná v tématu Funkce zabezpečení v CRT.

Důležitá poznámkaDůležité

_mbsnset_s a _mbsnset_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 _strnset_s(
   char *str,
   size_t numberOfElements,
   int c,
   size_t count 
);
errno_t _strnset_s_l(
   char *str,
   size_t numberOfElements,
   int c,
   size_t count,
   locale_t locale
);
errno_t _wcsnset_s(
   wchar_t *str,
   size_t numberOfElements,
   wchar_t c,
   size_t count 
);
errno_t _wcsnset_s_l(
   wchar_t *str,
   size_t numberOfElements,
   wchar_t c,
   size_t count,
   _locale_t locale
);
errno_t _mbsnset_s(
   unsigned char *str,
   size_t numberOfElements,
   unsigned int c,
   size_t count 
);
errno_t _mbsnset_s_l(
   unsigned char *str,
   size_t numberOfElements,
   unsigned int c,
   size_t count,
   _locale_t locale
);

Parametry

  • str
    Řetězec, který má být změněn.

  • numberOfElements
    Velikost vyrovnávací paměti str.

  • c
    Nastavení znaků.

  • count
    Počet znaků, které mají být nastaveny.

  • 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 není platný ukazatel ukončený hodnotou null nebo velikost argumentu je menší nebo rovna 0, 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, tyto funkce vrátí chybový kód a nastaví errno na tento chybový kód.Výchozí chybový kód je EINVAL, pokud nelze použít konkrétní hodnotu.

Poznámky

Tyto funkce nastaví maximálně prvních count znaků str na c.Pokud je count větší než velikost str, velikost str se použije namísto count.K chybě dojde, pokud count je větší než numberOfElements a oba tyto parametry jsou větší než velikost str.

_wcsnset_s a _mbsnset_s jsou širokoznaká verze a verze vícebajtového znaku _strnset_s.Řetězcový argument _wcsnset_s je řetězec se širokými znaky, argument _mbsnset_s jeřetězec s vícebajtovými znaky.Tyto tři funkce se chovají identicky jinak.

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

_tcsnset_s

_strnset_s

_mbsnbset_s

_wcsnset_s

_tcsnset_s_l

_strnset_s_l

_mbsnbset_s_l

_wcsnset_s_l

Požadavky

Rutina

Požadované záhlaví

_strnset_s

<string.h>

_strnset_s_l

<tchar.h>

_wcsnset_s

<string.h> nebo <wchar.h>

_wcsnset_s_l

<tchar.h>

_mbsnset_s, _mbsnset_s_l

<mbstring.h>

Další informace o kompatibilitě naleznete v tématu Kompatibilita.

Příklad

// crt_strnset_s.c
#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_s( string, sizeof(string), '*', 4 );
   printf( "After:  %s\n", string );
}
  

Ekvivalent v rozhraní .NET Framework

System::String::Replace

Viz také

Referenční dokumentace

Zacházení s řetězci (CRT)

Národní prostředí

Výklad sekvencí vícebajtových znaků

strcat, wcscat, _mbscat

strcmp, wcscmp, _mbscmp

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l