Программирование на C и C++

Онлайн справочник программиста на C и C++

strncat, _fstrncat

char *strncat(char *str1, const char *str2, size_t count)

char far * far _fstrncat(char *str1, const char *str2, size_t count)

Прототип: 
Описание: 

Функция strncat() добавляет к строке, на которую указывает str1, не более count символов из строки, на которую указывает str2. В конце модифицированной строки str1 функция ставит нуле­вой символ. Нулевой символ, первоначально завершавший строку str1, замещается первым симво­лом строки str2. Строка str2 остается в первоначальном виде.Функция strncat() возвращает указатель str1.

Надо иметь в виду, что функция не производит контроля границ, поэтому программист дол­жен сам позаботиться о том, чтобы строка str1 была достаточно длинной и могла вместить поми­мо своего первоначального содержимого еще и содержимое строки str2.
Функция _fstrncat() является FAR-версией функции strncat().

Пример: 
Следующая программа подсоединяет первую строку, считанную из stdin, ко второй. Если, на­пример, пользователь введет «hello» и «there», программа выведет «therehello». Программа предотвращает возможность переполнения массива, на который указывает str1.
#include <stdio.h>
#include <string.h>
int main(void)
{
char s1[80], s2[80];
size_t len;
gets (s1);
gets (s2);
/* вычисление реально вмещающегося числа символов */
len = 79-strlen (s2);
strncat(s2, s1, len);
printf (s2);
return 0;
}