Поделиться через


_mbsnbcat, _mbsnbcat_l

Добавляет максимум n первых байтов одной многобайтовой строки к другой. Существуют более безопасные версии этих функций; см. раздел _mbsnbcat_s, _mbsnbcat_s_l.

Важно!

Этот API невозможно использовать в приложениях, запускаемых в среде выполнения Windows.Дополнительные сведения см. в статье Функции CRT, которые не поддерживаются с ключом /ZW.

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 добавляет в dest не более count первых байтов из src. Если байт непосредственно перед нулевым символом в dest является старшим байтом, он перезаписывается начальным байтом src. В противном случае начальный байт src перезапишет завершающий нулевой символ dest. Если нулевой байт возникает в src прежде, чем добавлено count байтов, _mbsnbcat добавляет все байты из src вплоть до нулевого символа. Если count больше, чем длина src, длина src используется вместо count. Результирующая строка завершается нулевым символом. Если копирование производится между перекрывающимися строками, поведение не определено.

Выходное значение зависит от настройки категории LC_CTYPE языкового стандарта; дополнительные сведения см. в разделе setlocale. Версия _mbsnbcat использует текущий языковой стандарт для поведения, зависящего от языкового стандарта; _mbsnbcat_l идентична, за исключением того, что использует переданный языковой стандарт. Для получения дополнительной информации см. Языковой стандарт.

Примечание о безопасности Следует использовать строку, оканчивающуюся символом null. Завершающаяся нулевым символом строка не должна превышать размер буфера назначения. Дополнительные сведения см. в разделе Как избежать переполнения буфера.

Если dest или src — NULL, функция создаст ошибку недопустимого параметра, как описано в разделе Проверка параметров. Если ошибка обработана, функция возвращает EINVAL и устанавливает errno в EINVAL.

В C++ эти функции имеют шаблонные перегрузки, которые вызывают более новые и безопасные аналоги этих функций. Дополнительные сведения см. в разделе Безопасные перегрузки шаблонов.

Универсальное текстовое сопоставление функций

Подпрограмма 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>

Дополнительные сведения о совместимости см. в разделе Совместимость.

Эквивалент в .NET Framework

Неприменимо. Для вызова стандартной функции C используйте PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Управление строками (CRT)

_mbsnbcmp, _mbsnbcmp_l

_strncnt, _wcsncnt, _mbsnbcnt, _mbsnbcnt_l, _mbsnccnt, _mbsnccnt_l

_mbsnbcpy, _mbsnbcpy_l

_mbsnbicmp, _mbsnbicmp_l

_mbsnbset, _mbsnbset_l

strncat, _strncat_l, wcsncat, _wcsncat_l, _mbsncat, _mbsncat_l

_mbsnbcat_s, _mbsnbcat_s_l