Udostępnij za pośrednictwem


_mbsnbset, _mbsnbset_l

Ustaw pierwszy n bajtów łańcuch znaków do określonego znaku.Bezpieczniejsze wersje te funkcje są dostępne; see _mbsnbset_s, _mbsnbset_s_l.

Ważna uwagaWażne

Ten interfejs API nie można używać w aplikacji, których wykonywanie w czasie wykonywania systemu Windows.Aby uzyskać więcej informacji, zobacz CRT funkcje nie obsługiwane przez /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
    Ciąg znaków ma być zmieniony.

  • c
    Ustawienie jednobajtowych lub wielobajtowych znaków.

  • count
    Liczba bajtów, które ma zostać ustawiona.

  • locale
    Ustawienia regionalne używane.

Wartość zwracana

_mbsnbsetZwraca wskaźnik do zmienionych ciągu.

Uwagi

_mbsnbset i _mbsnbset_l ustawiają, co najwyżej pierwszy count bajtów str do c.Jeśli count jest większa niż długość str, długość str jest używana zamiast count.Jeśli c jest znaków wielobajtowych i nie można ustawić całość do ostatni bajt jest określony przez count, ostatni bajt jest wypełniane znak puste._mbsnbseti _mbsnbset_l nie umieszcza kończące null na końcu str.

_mbsnbseti _mbsnbset_l jest podobna do _mbsnset, z tym, że ustawia on count bajtów zamiast count znaków z c.

Jeśli str jest NULL lub count wynosi zero, funkcja ta generuje wyjątek nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może kontynuować, errno jest ustawiona na EINVAL i funkcja zwraca NULL.Ponadto jeśli c nie jest prawidłową znaków wielobajtowych, errno jest ustawiona na EINVAL i spacja jest używana zamiast.

Wartość produkcji jest zależny od ustawienia z LC_CTYPE kategorii ustawienie regionalne tzn. zobacz setlocale Aby uzyskać więcej informacji._mbsnbset Wersja tej funkcji używa bieżących ustawień regionalnych tego zachowania zależne od ustawień lokalnych; _mbsnbset_l wersji jest identyczny z tym, aby używać zamiast przekazany parametr ustawień regionalnych.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Uwaga zabezpieczeń ten interfejs API pociąga za sobą potencjalne zagrożenie spowodowane przez problem przepełnienie buforu.Przepełnienie buforu problemy są używanej metody ataku system, skutkujących nieuzasadnione podniesienie uprawnień.Aby uzyskać więcej informacji, zobacz Unikanie przekroczeniem buforu.

Tekst rodzajowy rutynowych mapowania

Rozpoczęto wykonywanie procedury TCHAR.h

_UNICODE i _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_tcsnset

_strnset

_mbsnbset

_wcsnset

_tcsnset_l

_strnset_l

_mbsnbset_l

_wcsnset_l

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_mbsnbset

<mbstring.h>

_mbsnbset_l

<mbstring.h>

Informacji dotyczących zgodności, zobacz zgodności we wprowadzeniu.

Przykład

// 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 );
}

Dane wyjściowe

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

Odpowiednik w programie .NET Framework

Nie dotyczy. Aby wywoływać funkcji C standardowej, należy użyć PInvoke. Aby uzyskać więcej informacji, zobacz Przykłady wywołać platformy.

Zobacz też

Informacje

Manipulowanie ciągami (CRT)

_mbsnbcat, _mbsnbcat_l

_strnset, _strnset_l, _wcsnset, _wcsnset_l, _mbsnset, _mbsnset_l

_strset, _strset_l, _wcsset, _wcsset_l, _mbsset, _mbsset_l