Udostępnij za pośrednictwem


_mbsnbcpy, _mbsnbcpy_l

Kopiuje n bajtów ciągu do ciągu docelowego. Dostępne są bardziej bezpieczne wersje tych funkcji — zobacz _mbsnbcpy_s, _mbsnbcpy_s_l.

Ważne

Tego interfejsu API nie można używać w aplikacjach wykonywanych w środowisko wykonawcze systemu Windows. Aby uzyskać więcej informacji, zobacz Funkcje CRT nieobsługiwane w aplikacjach platforma uniwersalna systemu Windows.

Składnia

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 skopiowania ciągu znaków.

strSource
Ciąg znaków do skopiowania.

count
Liczba bajtów do skopiowania.

locale
Ustawienia regionalne do użycia.

Wartość zwracana

_mbsnbcpy Zwraca wskaźnik do docelowego ciągu znaków. Żadna wartość zwracana nie jest zarezerwowana, aby wskazać błąd.

Uwagi

Funkcja _mbsnbcpy kopiuje bajty count z strSource do strDest. Jeśli count przekracza rozmiar ciągów źródłowych strDest i docelowych, zachowanie _mbsnbcpy jest niezdefiniowane.

Jeśli strSource lub strDest jest wskaźnikiem o wartości null, ta funkcja wywołuje nieprawidłową procedurę obsługi parametrów zgodnie z opisem w temacie Walidacja parametru. Jeśli wykonywanie jest dozwolone do kontynuowania, funkcja zwraca NULL i ustawia wartość errno EINVAL.

Na wartość wyjściową ma wpływ ustawienie LC_CTYPE ustawienia kategorii ustawień regionalnych. Aby uzyskać więcej informacji, zobacz setlocale. Wersje tych funkcji są identyczne, z tą różnicą, że te, które nie mają _l sufiksu, używają bieżących ustawień regionalnych, a wersje, które mają _l sufiks, zamiast tego używają parametru ustawień regionalnych, który jest przekazywany. Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.

Ważne

Te funkcje mogą być narażone na przepełnienie buforu zagrożeń. Przepełnienie buforu może służyć do wykonywania dowolnego kodu atakującego, co może spowodować nieuzasadnione podniesienie uprawnień i naruszenie systemu. Aby uzyskać więcej informacji, zobacz Unikanie przekroków buforu.

W języku C++te funkcje mają przeciążenia szablonów, które wywołują nowsze, bezpieczniejsze odpowiedniki tych funkcji. Aby uzyskać więcej informacji, zobacz Bezpieczne przeciążenia szablonów.

Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.

Mapowania procedur tekstu ogólnego

Procedura tchar.h _UNICODE i _MBCS niezdefiniowane _MBCS zdefiniowany _UNICODE zdefiniowany
_tcsncpy strncpy _mbsnbcpy wcsncpy
_tcsncpy_l _strncpy_l _mbsnbcp_l _wcsncpy_l

Wymagania

Procedura Wymagany nagłówek
_mbsnbcpy <mbstring.h>
_mbsnbcpy_l <mbstring.h>

Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.

Zobacz też

Manipulowanie ciągami
_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