strcpy

Autres langues

Langue: ru

Autres versions - même langue

Version: 11 апреля 1993 (fedora - 25/11/07)

Autres sections - même nom

Section: 3 (Bibliothèques de fonctions)

НАЗВАНИЕ

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

СМОТРИ ТАКЖЕ

bcopy(3), memccpy(3), memcpy(3), memmove(3)

ПЕРЕВОД

 Перевод с английского (C) 2000 Дмитрий Морожников 
     (dm@simplex.irkutsk.ru, 2:5070/141.3)