stpncpy(3) копирование строки фиксированной длины с возвращением указателя на

ОБЗОР

#include <string.h>


char *stpncpy(char *dest, const char *src, size_t n);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

stpncpy():

Начиная с glibc 2.10:
_XOPEN_SOURCE >= 700 || _POSIX_C_SOURCE >= 200809L
До glibc 2.10:
_GNU_SOURCE

ОПИСАНИЕ

Функция stpncpy() копирует не более n символов из строки, на которую ссылается указатель src, включая конечный байт null ('\0'), в массив по указателю dest. В dest будет записано точно n символов. Если длина strlen(src) меньше n, то оставшиеся символы в массиве dest будут заполнены байтами null ('\'). Если длина strlen(src) больше или равна n, то строка, на которую ссылается указатель dest, не будет завершаться null.

Строки не должны пересекаться.

Программист должен быть уверен, что в dest достаточно места для по крайней мере n символов.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

stpncpy() возвращает указатель на завершающий байт null в dest или, если dest не завершается null, dest+n.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).
ИнтерфейсАтрибутЗначение
stpncpy() безвредность в нитяхбезвредно (MT-Safe)

СООТВЕТСТВИЕ СТАНДАРТАМ

Эта функция была добавлена в POSIX.1-2008. До этого она считалась расширением GNU. Впервые она появилась в версии 1.07 библиотеки GNU C в 1993 году.