Udostępnij za pośrednictwem


_mbsnbcpy, _mbsnbcpy_l

Kopie n bajtów w ciągu na ciąg docelowego.Dostępne są bardziej bezpieczne wersje tych funkcji, zobacz _mbsnbcpy_s, _mbsnbcpy_s_l.

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.

unsigned char * _mbsnbcpy(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count
);
unsigned char * _mbsnbcpy_l(
   unsigned char * strDest,
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
);
template <size_t size>
unsigned char * _mbsnbcpy(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count
); // C++ only
template <size_t size>
unsigned char * _mbsnbcpy_l(
   unsigned char (&strDest)[size],
   const unsigned char * strSource,
   size_t count,
   _locale_t locale
); // C++ only

Parametry

  • strDest
    Miejsce docelowe dla ciągu znaków do skopiowania.

  • strSource
    Ciąg znaków do skopiowania.

  • count
    Liczba bajtów przeznaczonych do skopiowania.

  • locale
    Ustawienia regionalne używane.

Wartość zwracana

_mbsnbcpyZwraca wskaźnik do miejsca docelowego ciągu znaków.Nie zwraca żadnej wartości jest zarezerwowany wystąpił błąd.

Uwagi

The _mbsnbcpy function copies count bytes from strSource to strDest.Jeśli count przekracza rozmiar strDest lub ciągów znaków źródłowego i docelowego, zachodzą na siebie, zachowanie _mbsnbcpy jest niezdefiniowane.

Jeśli strSource lub strDest jest pusty wskaźnik, funkcja ta wywołuje program obsługi nieprawidłowy parametr, zgodnie z opisem w Sprawdzanie poprawności parametru.Jeśli wykonanie może w dalszym ciągu, funkcja zwraca NULL i ustawia errno do EINVAL.

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 wyjątkiem od tych, które nie mają _l sufiks Użyj bieżących ustawień regionalnych i wersji, które mają _l sufiks zamiast tego użyć parametru ustawień regionalnych, który jest przekazywana.Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

Tych funkcji może być narażony na zagrożenia przepełnienie buforu.Przekroczenia buforu można na wykonanie kodu dowolnego osoba atakująca, która może spowodować nieuzasadnione podniesienie uprawnień i naruszenia integralności systemu.Aby uzyskać więcej informacji, zobacz Unikanie przekroczeniem buforu.

W języku C++ te funkcje mają overloads szablonu, które wywołują nowsze, bezpieczniejsze odpowiedniki tych funkcji.Aby uzyskać więcej informacji, zobacz Secure, szablon Overloads.

Tekst rodzajowy rutynowych mapowania

Rozpoczęto wykonywanie procedury TCHAR.h

_UNICODE i _MBCS nie zdefiniowany

_MBCS, definicja

_UNICODE, definicja

_tcsncpy

strncpy

_mbsnbcpy

wcsncpy

_tcsncpy_l

_strncpy_l

_mbsnbcp_l

_wcsncpy_l

Wymagania

Rozpoczęto wykonywanie procedury

Wymaganego nagłówka

_mbsnbcpy

<mbstring.h>

_mbsnbcpy_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 Platforma wywołać przykłady.

Zobacz też

Informacje

Manipulowanie ciągami (CRT)

_mbsnbcat, _mbsnbcat_l

_mbsnbcmp, _mbsnbcmp_l

_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

_mbsnbset, _mbsnbset_l

strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l