Функция strcat добавляет копию указанной строки в конец строки, на которую указывает параметр s1. Начальный символ добавляемой строки записывается поверх символа конца строки ('\0') исходной строки.
char *strcat ( char *s1, const char *s2 ); |
s1
Указатель на конец строки, к которой присоединяется вторая строка.
s2
Указатель на копию строки (включая символ конца строки ('\0')), которая присоединяется в конец первой строки.
Функция возвращает значение s1
Начальный символ строки s2 записывает поверх символа конца строки ('\0') строку s1. Если объекты функции перекрываются, её поведение не определяется.
Библиотека стандартных функций С.
Функция объявлена в заголовочном файле string.h
Функции добавляют в конец строку. Доступны более безопасные версии этих функций; см. strcat_s, wcscat_s, _mbscat_s.
char *strcat( char strDestination, const char *strSource ); wchar_t *wcscat( wchar_t *strDestination, const wchar_t *strSource ); unsigned char *_mbscat( unsigned char *strDestination, const unsigned char *strSource ); template <size_t size> char *strcat( char (&strDestination)[size], const char *strSource ); // только для C++ template <size_t size> wchar_t *wcscat( wchar_t (&strDestination)[size], const wchar_t *strSource ); // только для C++ template <size_t size> unsigned char *_mbscat( unsigned char (&strDestination)[size], const unsigned char *strSource ); // только для C++ |
strDestination
Строка, являющаяся выходным значением с нулевым символом в конце.
strSource
Исходная строка с нулевым символом в конце.
Функция strcat добавляет в конец строки strDestination строку, указанную в strSource и завершает результирующую строку нулевым символом. Начальный символ strSource записывается поверх символа завершающего нуля strDestination. Поведение strcat не определяется, если источник и строки, являющаяся выходным значением накладываются.
Примечание по безопасности: Поскольку функция strcat не проверяет достаточно ли пространства в strDestination прежде, чем добавить в конец strSource, то это становится потенциальной причиной переполнения буфера. Вместо нее лучше используйте функцию strncat. |
Функции wcscat и _mbscat - широкосимвольные и многобайтово-символьные версии strcat. Параметры и возвращаемое значение wcscat - широкосимвольные строки; а у _mbscat являются многобайтово-символьными строками. В противном случае эти три функции ведут себя тождественно.
В C++ у этих функций есть перегрузки шаблона, которые вызывают более новые, безопасные аналоги этих функций. Для получения дополнительной информации, см. статью Безопасные перегрузки шаблона.
процедура TCHAR.H |
_UNICODE & _MBCS не определяется |
определяется как _MBCS |
определяется как _UNICODE |
---|---|---|---|
_tcscat | strcat | _mbscat | wcscat |
Процедура |
Требуемый заголовочный файл |
---|---|
strcat | <string.h> |
wcscat | <string.h> or <wchar.h> |
_mbscat | <mbstring.h> |
Для дополнительной информации о совместимости, см. раздел Совместимость в статье Введение.
Пример смотри в описании функции strcpy.
strncat, _strncat_l, wcsncat, wcsncat_l, _mbsncat _mbsncat_l, strncmp, wcsncmp, _mbsncmp, _mbsncmp_l, strncpy, _strncpy_l, wcsncpy, _wcsncpy_l, _mbsncpy, _mbsncpy_l, _strnicmp, _wcsnicmp, _mbsnicmp, _strnicmp_l, _wcsnicmp_l, _mbsnicmp_l, strrchr, wcsrchr, _mbsrchr, _mbsrchr_l, strspn, wcsspn, _mbsspn, _mbsspn_l