_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