#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);
Зависимые функции
memcpy() strchr() strncat() strncmp()
[1]Обратите внимание, что такую «строку » считать полноценной нельзя, ведь некоторые строковые функции работать с подобными строками могут некорректно.