Sdílet prostřednictvím


_mbsnbset_s _mbsnbset_s_l

Nastaví první n bajtů vícebajtové znakové řetězce zadaný znak.Tyto verze _mbsnbset _mbsnbset_l mají vylepšení zabezpečení, jak je popsáno v Funkce zabezpečení v CRT.

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

Toto rozhraní API nelze použít v aplikacích, které jsou spuštěny v Windows Runtime.Další informace naleznete v tématu CRT funkce nejsou podporovány s /ZW.

errno_t _mbsnbset_s(
   unsigned char *str,
   size_t size,
   unsigned int c,
   size_t count 
);
errno_t _mbsnbset_s_l(
   unsigned char *str,
   size_t size,
   unsigned int c,
   size_t count,
   _locale_t locale
);
template <size_t size>
errno_t _mbsnbset_s(
   unsigned char (&str)[size],
   unsigned int c,
   size_t count 
); // C++ only
template <size_t size>
errno_t _mbsnbset_s_l(
   unsigned char (&str)[size],
   unsigned int c,
   size_t count,
   _locale_t locale
); // C++ only

Parametry

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

  • size
    Velikost vyrovnávací paměti řetězců.

  • c
    Nastavení jednobajtových nebo vícebajtových znaků.

  • count
    Počet bajtů, kterou 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ě se kód chyby.

Poznámky

_mbsnbset_s a _mbsnbset_s_l funkce nastavit maximálně první count bajtů str na c.Pokud count je větší než délka str, délka str se používá místo count.Pokud c je vícebajtových znaků a nesmí být nastavena zcela do posledního bajtu, který je určen count, poslední bajt je ohraničen prázdný znak._mbsnbset_sa _mbsnbset_s_l Neumísťujte ukončení hodnotu null na konci str.

_mbsnbset_sa _mbsnbset_s_l se podobají _mbsnset, s tím rozdílem, že nastavily count bajtů spíše než count znaky c.

Pokud str je NULL nebo count je nula, tato funkce generuje výjimku neplatného parametru, jak je popsáno v Ověření parametrů.Je-li pokračovat, je povoleno zpracování errno je nastavena na EINVAL a vrátí funkce NULL.Také pokud c není platné vícebajtové znakové errno je nastavena na EINVAL a místo toho je použita mezera.

Výstupní hodnota je ovlivněna nastavením LC_CTYPE kategorie nastavení národního prostředí; Viz setlocale _wsetlocale Další informace._mbsnbset_s Verze této funkce používá aktuální národní prostředí pro toto chování závislé na národním prostředí; _mbsnbset_s_l verze je totožný s tím rozdílem, že místo toho používá parametr locale, který je předán v.Další informace naleznete v tématu Národní prostředí.

V jazyce C++ použití těchto funkcí je zjednodušeno díky přetížení šablony; přetížení můžete odvodit vyrovnávací paměti automaticky a tím eliminovat potřebu určit velikost argumentu.Další informace naleznete v tématu Přetížení šablony zabezpečení.

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

Byla zahájena rutina Tchar.h

_UNICODE a _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í

_mbsnbset_s

<mbstring.h>

_mbsnbset_s_l

<mbstring.h>

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

Příklad

// crt_mbsnbset_s.c
#include <mbstring.h>
#include <stdio.h>

int main( void )
{
   char string[15] = "This is a test";
   /* Set not more than 4 bytes of string to be *'s */
   printf( "Before: %s\n", string );
   _mbsnbset_s( string, sizeof(string), '*', 4 );
   printf( "After:  %s\n", string );
}

Výsledek

  

Ekvivalent v rozhraní .NET Framework

Nelze použít Volání funkce standardním C pomocí PInvoke. Další informace naleznete v tématu Příklady volání funkce platformy.

Viz také

Referenční dokumentace

Manipulaci s řetězci (CRT)

_mbsnbcat _mbsnbcat_l

_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l