STRCPY(3)

NOME
strcpy, strncpy - copia uma seqüencia de caractere

SINÓPSE
#include <string.h>

char *strcpy(char *dest, const char *org);

char *strncpy(char *dest, const char *org, size_t n);

DESCRIÇÃO
A função strcpy() copia a seqüencia apontada por org (incluindo o caractere terminador `\0') para o vetor apontado por dest. As seqüencias não devem se sobrepor, e a seqüencia de destino dest deve ter tamanho suficiente para receber a cópia.

A função strncpy() é similar, exceto que não mais do que n bytes de org são copiados. Por isso, se não houver byte nulo entre os primeiros n bytes de org, o resultado não será terminado em nulo.

No caso em que o comprimento de org é menor que o valor de n, o resto de dest será preenchido com nulos.

VALORES RETORNADOS
As funções strcpy() e strncpy() retornam um ponteiro para a seqüencia de destino dest.

PROBLEMAS
Se a string de destino de uma strcpy() não é comprida o suficiente (isto é, se o programador foi estúpido/preguiçoso, e não verificou o tamanho antes de copiar) então qualquer coisa pode acontecer. Estourar a capacidade de seqüencia de tamanho fixo é uma técnica favorita para quebra de segurança.

DE ACORDO COM
SVID 3, POSIX, BSD 4.3, ISO 9899.

VEJA TAMBÉM
bcopy(3), memccpy(3), memcpy(3), memmove(3).

TRADUZIDO POR LDP-BR em 15/03/2001.

  Tradução:
Marcelo M. de Abreu <mmabreu@terra.com.br>

  Revisão.:
André Luiz Fassone <lonely_wolf@ig.com.br>