strncpy(3) copian una cadena de caracteres

Other Alias

strcpy

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.

CONFORMES CON

SVID 3, POSIX, BSD 4.3, ISO 9899