Sdílet prostřednictvím


_mbsnbset _mbsnbset_l

Nastavte první n bajtů vícebajtové znakové řetězce zadaný znak.Bezpečnější verze tyto funkce jsou k dispozici; see _mbsnbset_s _mbsnbset_s_l.

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

Toto rozhraní API 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.

unsigned char *_mbsnbset(
   unsigned char *str,
   unsigned int c,
   size_t count 
);
unsigned char *_mbsnbset_l(
   unsigned char *str,
   unsigned int c,
   size_t count,
   _locale_t locale
);

Parametry

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

  • 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

_mbsnbsetvrací ukazatel na řetězec změněné.

Poznámky

_mbsnbset a _mbsnbset_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 určen count, poslední bajt je ohraničen prázdný znak._mbsnbseta _mbsnbset_l neumístí ukončení hodnotu null na konci str.

_mbsnbseta _mbsnbset_l je podobná _mbsnset, s tím rozdílem, že nastaví 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 pro další informace._mbsnbset 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_l verze je totožný s tím rozdílem, že použít místo něho předán parametr locale.Další informace naleznete v tématu Národní prostředí.

Poznámka: zabezpečení toto rozhraní API vzniká potenciální ohrožení vyvolaných problému přetečení vyrovnávací paměti.Přetečení vyrovnávací paměti potíže jsou používaný způsob útoku systému, výsledkem bude vyplacena neoprávněně zvýšení úrovně oprávnění.Další informace naleznete v tématu Zamezení způsobí přetečení vyrovnávací paměti.

Mapování rutiny obecného textu

Byla zahájena rutina Tchar.h

_UNICODE a _MBCS není definováno

_MBCS, definice

_UNICODE definována

_tcsnset

_strnset

_mbsnbset

_wcsnset

_tcsnset_l

_strnset_l

_mbsnbset_l

_wcsnset_l

Požadavky

Byla zahájena rutina

Požadované záhlaví

_mbsnbset

<mbstring.h>

_mbsnbset_l

<mbstring.h>

Další informace o kompatibilitě v tématu Compatibility v úvodu.

Příklad

// crt_mbsnbset.c
// compile with: /W3
#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( string, '*', 4 ); // C4996
   // Note; _mbsnbset is deprecated; consider _mbsnbset_s
   printf( "After:  %s\n", string );
}

Výsledek

Before: This is a test
After:  **** is a test

Ekvivalent v rozhraní .NET Framework

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

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