Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Добавляет, по крайней мере, первые n байты одной многобайтовой строки в другую. Доступны более безопасные версии этих функций; see _mbsnbcat_s, _mbsnbcat_s_l.
Внимание
Этот API нельзя использовать в приложениях, выполняемых в среде выполнения Windows. Дополнительные сведения: Функции CRT, которые не поддерживаются в приложениях универсальной платформы Windows.
Синтаксис
unsigned char *_mbsnbcat(
unsigned char *dest,
const unsigned char *src,
size_t count
);
unsigned char *_mbsnbcat_l(
unsigned char *dest,
const unsigned char *src,
size_t count,
_locale_t locale
);
template <size_t size>
unsigned char *_mbsnbcat(
unsigned char (&dest)[size],
const unsigned char *src,
size_t count
); // C++ only
template <size_t size>
unsigned char *_mbsnbcat_l(
unsigned char (&dest)[size],
const unsigned char *src,
size_t count,
_locale_t locale
); // C++ only
Параметры
dest
Многобайтовая строка назначения, завершаемая нуль-символом.
src
Исходная многобайтовая строка, завершаемая нуль-символом.
count
Число байтов из src, добавляемых к dest.
locale
Используемый языковой стандарт.
Возвращаемое значение
Функция _mbsnbcat возвращает указатель на целевую строку символов. Нет зарезервированных возвращаемых значений для указания ошибки.
Замечания
Функция _mbsnbcat добавляет не более count первых байтов строки src в строку dest. Если байт непосредственно перед нуль-символом в строке dest является старшим байтом, он перезаписывается начальным байтом строки src. В противном случае начальный байт строки src перезаписывает завершающий нуль-символ строки dest. Если байт NULL встречается в строке src до того как будет добавлено count байтов, функция _mbsnbcat добавляет все байты из строки src вплоть до нуль-символа. Если значение count больше длины строки src, вместо параметра src используется длина строки count. Результирующая строка завершается нуль-символом. Если копирование производится между перекрывающимися строками, поведение не определено.
Выходное значение зависит от параметра LC_CTYPE категории языкового стандарта. Дополнительные сведения см. в разделе setlocale. Версия _mbsnbcat этой функции использует текущий языковой стандарт для поведения, зависящего от языкового стандарта; версия _mbsnbcat_l работает аналогично, но использует переданный языковой стандарт. Дополнительные сведения см. в разделе Locale.
Примечание о безопасности. Следует использовать строку, оканчивающуюся нуль-символом. Длина строки, завершающейся нуль-символом, не должна превышать размер буфера назначения. Дополнительные сведения см. в разделе "Избегание переполнения буфера".
Если dest или src есть NULL, функция создаст недопустимую ошибку параметра, как описано в разделе "Проверка параметров". Если ошибка обработана, функция возвращает EINVAL и задает для параметра errno значение EINVAL.
В C++ эти функции имеют шаблонные перегрузки, которые вызывают более новые и безопасные аналоги этих функций. Дополнительные сведения см. в разделе "Безопасные перегрузки шаблонов".
По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.
Сопоставления подпрограмм универсального текста
| Подпрограмма Tchar.h | _UNICODE и _MBCS не определен |
_MBCS Определенные |
_UNICODE Определенные |
|---|---|---|---|
_tcsncat |
strncat |
_mbsnbcat |
wcsncat |
_tcsncat_l |
_strncat_l |
_mbsnbcat_l |
_wcsncat_l |
Требования
| Маршрут | Обязательный заголовок |
|---|---|
_mbsnbcat |
<mbstring.h> |
_mbsnbcat_l |
<mbstring.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
См. также
Обработка строк
_mbsnbcmp, _mbsnbcmp_l
_strncnt, , _wcsncnt_mbsnbcnt_l_mbsnbcnt_mbsnccnt,_mbsnccnt_l
_mbsnbcpy, _mbsnbcpy_l
_mbsnbicmp, _mbsnbicmp_l
_mbsnbset, _mbsnbset_l
strncat, , _strncat_l_wcsncat_lwcsncat_mbsncat,_mbsncat_l
_mbsnbcat_s, _mbsnbcat_s_l