STRCPY(3) | Руководство программиста | STRCPY(3) |
НАЗВАНИЕ¶
strcpy, strncpy - копирование строки
СИНТАКСИС¶
#include <string.h> char *strcpy(char *dest, const char *src); char *strncpy(char *dest, const char *src, size_t n);
ОПИСАНИЕ¶
Функция strcpy() копирует строку, указанную как src (включая завершающий символ `\0'), в массив, указанный как dest. Строки не могут перекрываться, и в целевой строке dest должно быть достаточно места для получения копии.
Функция strncpy работает подобным образом, но копируются только первые n байт строки src. Таким образом, если нулевой байт отсутствует в первых n байтах src, то результирующая строка не будет завершена символом `\0'.
В случае, если длина src меньше, чем n, то остаток dest будет заполнен нулями.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
Функции strcpy() и strncpy() возвращают указатель на целевую строку dest.
ОШИБКИ РЕАЛИЗАЦИИ¶
Если целевая строка strcpy недостаточно велика (такое случается, если программист идиот/болван и не проверяет размер перед копированием), то может случится ужасное. Переполнение строк фиксированной длины является любимым методом крэкеров.
СООТВЕТСТВИЕ СТАНДАРТАМ¶
SVID 3, POSIX, BSD 4.3, ISO 9899
СМОТРИ ТАКЖЕ¶
ПЕРЕВОД¶
Перевод с английского (C) 2000 Дмитрий Морожников
(dm@simplex.irkutsk.ru, 2:5070/141.3)
11 апреля 1993 | GNU |