#include <string.h> char *strncpy(char *str1, const char *str2, size_t count);
Функция strncpy() копирует не более count символов из строки, адресуемой параметром str2, в массив, адресуемый параметром str1. Параметр str2 должен указывать на строку, заканчивающуюся символом конца строки.
В версии С99 к параметрам str1 и str2 применен квалификатор restrict.
Если заданные массивы символов перекрываются, поведение функции strncpy() не определено.
Если длина строки, адресуемой параметром str2, меньше значения count, то в конец строка - результата str1 добавляются "недостающие" нулевые символы.
Если же длина строки, адресуемой параметром str2, больше значения count, то строка - результат, адресуемая параметром str1, не будет заканчиваться символом конца строки[1].
Функция strncpy() возвращает значение указателя str1.
Следующий фрагмент программы копирует не более 79 символов из строки str1 в строку str2, тем самым гарантируется, что массив не переполнится.
char str1[128], str2[80]; gets(str1); strncpy(str2, str1, 79);
[1]Обратите внимание, что такую "строку " считать полноценной нельзя, ведь некоторые строковые функции работать с подобными строками могут некорректно.