Содержание | Глава 14

Функция strcat

#include <string.h>
char *strcat(char *str1, const char *str2);

Функция strcat() присоединяет к строке str1 копию строки str2 и завершает строку str1 нулевым символом. Конечный нуль-символ, первоначально завершающий строку str1, перезаписывается первым символом строки str2. Строка str2 при этом не изменяется. Если заданные массивы перекрываются, поведение функции strcat() не определено.

В версии С99 к параметрам str1 и str2 применен квалификатор restrict.

Функция strcat() возвращает значение указателя str1.

Помните, что при выполнении операций с массивами символов контроль нарушения их границ не выполняется, поэтому программист должен сам позаботиться о достаточном размере массива str1, позволяющем вместить как его исходное содержимое, так и содержимое массива str2.

Пример

Данная программа дописывает первую строку, прочитанную из стандартного входного потока stdin, ко второй строке. Например, если пользователь введет строки

привет
и
всем
, то программа выведет сообщение
всемпривет
#include <stdio.h>
#include <string.h>

int main(void)
{
  char s1[80], s2[80];

  gets(s1);
  gets(s2);

  strcat(s2, s1);
  printf(s2);

  return 0;
}

Зависимые функции

strchr() strcmp() strcpy()
Содержание | Глава 14