NOMBRE¶
strcpy, strncpy - copian una cadena de caracteres
SINOPSIS¶
#include <string.h>
char *strcpy(char *dest, const char *orig);
char *strncpy(char *dest, const char *orig, size_t n);
DESCRIPCIÓN¶
La función
strcpy() copia la cadena de caracteres apuntada por
orig (incluyendo el carácter terminador '\0') al vector apuntado
por
dest. Las cadenas no deben solaparse, y la de destino,
dest,
debe ser suficientemente grande como para alojar la copia.
La función
strncpy() es similar, pero no se copiarán
más de
n bytes de
orig. Así, si el byte cero no
está entre los primeros
n bytes de
orig, el resultado no
será una cadena terminada en cero.
En el caso en que la longitud de
orig sea menor que la de
n, el
resto de
dest se rellenará con ceros.
VALOR DEVUELTO¶
Las funciones
strcpy() y
strncpy() devuelven un puntero a la
cadena destino
dest.
FALLOS¶
Si la cadena destino de un
strcpy() no es bastante grande (esto es, si el
programador fue estúpido o perezoso, y no comprobó el
tamaño antes de la copia) entonces puede ocurrir cualquier cosa.
Provocar el desbordamiento de cadenas de caracteres de longitud fija es una
técnica favorita de los piratas informáticos.
SVID 3, POSIX, BSD 4.3, ISO 9899
VÉASE TAMBIÉN¶
bcopy(3),
memccpy(3),
memcpy(3),
memmove(3)