Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dołącza do ciągu znaków wielobajtowych, co najwyżej pierwszych n bajtów innego ciągu wielobajtowego. Te funkcje to wersje programu _mbsnbcat
, _mbsnbcat_l
które mają ulepszenia zabezpieczeń, zgodnie z opisem w temacie Funkcje zabezpieczeń w narzędziu CRT.
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
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 docelowy o znakach wielobajtowych zakończonych wartościami null.
sizeInBytes
Rozmiar buforu dest
w bajtach.
src
Ciąg źródłowy z wieloma znakami o wartości null.
count
Liczba bajtów z src
do dołączenia do dest
.
locale
Ustawienia regionalne do użycia.
Wartość zwracana
Zero w przypadku powodzenia; w przeciwnym razie kod błędu.
Warunki błędu
dest |
sizeInBytes |
src |
Wartość zwracana |
---|---|---|---|
NULL |
dowolny | dowolny | EINVAL |
Dowolne | <= 0 | dowolny | EINVAL |
Dowolne | dowolny | NULL |
EINVAL |
Jeśli wystąpi którykolwiek z warunków błędu, funkcja generuje nieprawidłowy błąd parametru, zgodnie z opisem w temacie Walidacja parametru. Jeśli błąd jest obsługiwany, funkcja zwraca EINVAL
wartość i ustawia wartość errno
EINVAL
.
Uwagi
Funkcja _mbsnbcat_s
dołącza co najwyżej do dest
, pierwszych count
bajtów .src
Jeśli bajt, który bezpośrednio poprzedza znak null w dest
obiekcie, jest bajtem ołowiu, jest zastępowany przez początkowy bajt src
. W przeciwnym razie początkowy bajt src
zastępowania przerywającego znaku null elementu dest
. Jeśli bajt o wartości null pojawia się przed src
count
dołączeniem bajtów, _mbsnbcat_s
dołącza wszystkie bajty z src
, aż do znaku null. Jeśli count
jest większa niż długość src
, długość src
elementu jest używana zamiast count
. Wynikowy ciąg jest przerywany znakiem null. Jeśli kopiowanie odbywa się między ciągami nakładającymi się, zachowanie jest niezdefiniowane.
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 te, które mają _l
sufiks, zamiast tego używają parametru ustawień regionalnych, który jest przekazywany. Aby uzyskać więcej informacji, zobacz Ustawienia regionalne.
W języku C++użycie tych funkcji jest uproszczone przez przeciążenia szablonów. Przeciążenia mogą automatycznie wnioskować długość buforu, co eliminuje konieczność określenia argumentu rozmiaru i mogą automatycznie używać nowszych, bezpieczniejszych funkcji w celu zastąpienia starszych, mniej bezpiecznych funkcji. Aby uzyskać więcej informacji, zobacz Bezpieczne przeciążenia szablonów.
Wersje biblioteki debugowania tych funkcji najpierw wypełniają bufor 0xFE. Aby wyłączyć to zachowanie, użyj polecenia _CrtSetDebugFillThreshold
.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
Mapowania procedur tekstu ogólnego
Tchar.h rutyna |
_UNICODE i _MBCS niezdefiniowane |
_MBCS zdefiniowany |
_UNICODE zdefiniowany |
---|---|---|---|
_tcsncat_s |
strncat_s |
_mbsnbcat_s |
wcsncat_s |
_tcsncat_s_l |
_strncat_s_l |
_mbsnbcat_s_l |
_wcsncat_s_l |
Wymagania
Procedura | Wymagany nagłówek |
---|---|
_mbsnbcat_s |
<mbstring.h> |
_mbsnbcat_s_l |
<mbstring.h> |
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Zobacz też
Manipulowanie ciągami
_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