Udostępnij za pośrednictwem


_mbsnbcat_s, _mbsnbcat_s_l

Dołącza do ciągu znaków wielobajtowych, co najwyżej pierwszy n bajtów innego ciągu znaków wielobajtowych.Są to wersje _mbsnbcat, _mbsnbcat_l ulepszenia zabezpieczeń, które mają zgodnie z opisem 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 _mbsnbcat_s(
   unsigned char *dest,
   size_t sizeInBytes,
   const unsigned char *src,
   size_t count 
);
errno_t _mbsnbcat_s_l(
   unsigned char *dest,
   size_t sizeInBytes,
   const unsigned char *src,
   size_t count,
   _locale_t locale
);
template <size_t size>
errno_t _mbsnbcat_s(
   unsigned char (&dest)[size],
   const unsigned char *src,
   size_t count 
); // C++ only
template <size_t size>
errno_t _mbsnbcat_s_l(
   unsigned char (&dest)[size],
   const unsigned char *src,
   size_t count,
   _locale_t locale
); // C++ only

Parametry

  • dest
    Ciąg zakończony wartością zerową przeznaczenia znaków wielobajtowych.

  • sizeInBytes
    Rozmiar dest buforu w bajtach.

  • src
    Ciąg zakończony wartością zerową źródła znaków wielobajtowych.

  • Count
    Liczba bajtów z src Aby dołączyć do dest.

  • locale
    Ustawienia regionalne używane.

Wartość zwracana

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

Warunki błędów

Dest

sizeInBytes

src

Zwracana wartość

NULL

wszelkie

wszelkie

EINVAL

Wszelkie

< = 0

wszelkie

EINVAL

Wszelkie

wszelkie

NULL

EINVAL

Jeśli wystąpi którykolwiek z warunków błąd, funkcja generuje błąd nieprawidłowego parametru, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli ten błąd jest obsługiwane, funkcja zwraca EINVAL i ustawia errno do EINVAL.

Uwagi

_mbsnbcat_s Funkcja dołącza do dest, co najwyżej pierwszy count bajtów src.Jeśli bajt które bezpośrednio poprzedza znak null w dest jest bajtem wiodącym jest zastępowany przez początkowy bajt src.W przeciwnym razie bajtu początkowego src zastępuje kończącego znaku null z dest.Jeśli się bajtem null pojawia się w src przed count bajty są dołączane, _mbsnbcat_s dołącza wszystkie bajty z src, do znaku null.Jeśli count jest większa niż długość src, długość src jest używana zamiast count.Wynikowy ciąg znaków jest zakończony znakiem.Jeśli kopiowanie odbywa się między ciągami, które nakładają się, zachowanie jest niezdefiniowane.

Wartość produkcji jest zależny od ustawienia z LC_CTYPE kategorii ustawienie regionalne tzn. zobacz setlocale, _wsetlocale Aby uzyskać więcej informacji.Wersje te funkcje są identyczne, z tym, że te nie mają _l sufiks Użyj bieżących ustawień regionalnych i tych, które mają _l sufiks zamiast tego użyć parametru 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 wywnioskować długość buforu automatycznie przez to wyeliminować potrzebę określono argument rozmiar i one automatycznie ich nowych, bardziej bezpieczne funkcje służą do zamienić funkcje starszych, niższym poziomie zabezpieczenia.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

_tcsncat

strncat

_mbsnbcat_s

wcsncat

_tcsncat_s_l

_strncat_s_l

_mbsnbcat_s_l

_wcsncat_s_l

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_mbsnbcat_s

<mbstring.h>

_mbsnbcat_s_l

<mbstring.h>

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

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)

_mbsnbcmp, _mbsnbcmp_l

_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

_mbsnbcpy, _mbsnbcpy_l

_mbsnbcpy_s, _mbsnbcpy_s_l

_mbsnbset, _mbsnbset_l

strncat, _strncat_l, wcsncat, wcsncat_l, _mbsncat _mbsncat_l

strncat_s, _strncat_s_l, wcsncat_s, _wcsncat_s_l, _mbsncat_s, _mbsncat_s_l