Sdílet prostřednictvím


_strnset_s, _strnset_s_l, _wcsnset_s, _wcsnset_s_l, _mbsnset_s, _mbsnset_s_l

Inicializujte znaků řetězce na daný znak.Jedná se o verze _strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l s vylepšení zabezpečení, jak je popsáno v Funkce zabezpečení v CRT.

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

_mbsnset_sa _mbsnset_s_l nelze použít v aplikacích, které jsou spuštěny v systému 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 str vyrovnávací paměti.

  • c
    Nastavení znaků.

  • count
    Počet znaků, které chcete nastavit.

  • locale
    Chcete-li národní prostředí pro použití.

Vrácená hodnota

Nula v případě úspěchu, v opačném případě kód chyby.

Tyto funkce ověření své argumenty.Pokud str není platný řetězec zakončený hodnotou null nebo argument velikost je menší než nebo rovno 0, pak je vyvolána obslužná rutina neplatný parametr, jak je popsáno v Ověření parametrů.Je-li pokračovat, tyto funkce vrátit kód chyby a sada je povoleno zpracování errno Chcete-li tento kód chyby.Výchozí kód chyby je EINVAL Pokud přesnější hodnoty neplatí.

Poznámky

Tyto funkce nastavit maximálně první count znaky str na c.Pokud count je větší než velikost str, velikosti str se používá místo count.Pokud dojde k chybě count je větší než numberOfElements a oba tyto parametry jsou větší než velikost str.

_wcsnset_sa _mbsnset_s jsou verze širokého znaku a vícebajtové znakové sady _strnset_s.V argumentu řetězec _wcsnset_s je řetězec širokého znaku; Po _mbsnset_s jevícebajtové znakové řetězce.Tyto tři funkce chovat identicky jinak.

Výstupní hodnota je ovlivněna nastavením LC_CTYPE kategorie nastavení národního prostředí; Viz setlocale pro další informace.Verze těchto funkcí, aniž by _l příponu použít aktuální národní prostředí pro toto chování závislé na národním prostředí; verze s_l s tím rozdílem, že používají místo něho předán parametr locale shodná přípona.Další informace naleznete v tématu Národní prostředí.

Ladicí verze těchto funkcí vyplnit nejprve vyrovnávací paměť s 0xFD.Chcete-li zakázat toto chování, použijte _CrtSetDebugFillThreshold.

Mapování rutiny obecného textu

TCHAR.Byla zahájena rutina h

_UNICODE & _MBCS není definováno

_MBCS, definice

_UNICODE definována

_tcsnset_s

_strnset_s

_mbsnbset_s

_wcsnset_s

_tcsnset_s_l

_strnset_s_l

_mbsnbset_s_l

_wcsnset_s_l

Požadavky

Byla zahájena 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ě, viz Compatibility v úvodu.

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

Manipulaci s řetězci (CRT)

Národní prostředí

Výklad vícebajtové znakové sekvence

strcat, wcscat, _mbscat

strcmp, wcscmp, _mbscmp

strcpy, wcscpy, _mbscpy

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l