Udostępnij za pośrednictwem


_mbsnbset_s, _mbsnbset_s_l

Ustawia pierwszy n bajtów łańcuch znaków do określonego znaku.Te wersje _mbsnbset, _mbsnbset_l mieć rozszerzenia zabezpieczeń opisane w Funkcje zabezpieczeń w CRT.

Ważna uwagaWażne

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

  • size
    Rozmiar buforu ciągów.

  • c
    Ustawienie jednobajtowych lub wielobajtowych znaków.

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

  • locale
    Ustawienia regionalne używane.

Wartość zwracana

Zero, jeśli kończy się pomyślnie; w przeciwnym razie kod błędu.

Uwagi

_mbsnbset_s i _mbsnbset_s_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, określonej przez count, ostatni bajt jest wypełniane znak puste._mbsnbset_si _mbsnbset_s_l nie należy umieszczać kończące null na końcu str.

_mbsnbset_si _mbsnbset_s_l przypominają _mbsnset, z tym, że ustanowią w 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, _wsetlocale Aby uzyskać więcej informacji._mbsnbset_s Wersja tej funkcji używa bieżących ustawień regionalnych tego zachowania zależne od ustawień lokalnych; _mbsnbset_s_l wersji jest identyczny z tym, że zamiast tego wykorzystuje parametr ustawień regionalnych, który jest przekazywana.Aby uzyskać więcej informacji, zobacz Regionalne.

W języku C++ korzystanie z tych funkcji jest uproszczony przez przeciążenia szablonu; overloads można automatycznie rozpoznać długość buforu, a tym samym eliminują potrzebę określono argument rozmiar.Aby uzyskać więcej informacji, zobacz Przeciążenia bezpiecznych szablonów.

Wersje do debugowania tych funkcji najpierw wypełnić bufor z 0xFD.Aby wyłączyć to zachowanie, należy użyć _CrtSetDebugFillThreshold.

Tekst rodzajowy rutynowych mapowania

Rozpoczęto wykonywanie procedury TCHAR.h

_UNICODE i _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_tcsnset_s

_strnset_s

_mbsnbset_s

_wcsnset_s

_tcsnset_s_l

_strnset_s _l

_mbsnbset_s_l

_wcsnset_s_l

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_mbsnbset_s

<mbstring.h>

_mbsnbset_s_l

<mbstring.h>

Informacji dotyczących zgodności, zobacz Zgodność.

Przykład

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

Dane wyjściowe

  

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