C · Intermediário · Inglês · Técnico
strcpy
Função que copia uma string, incluindo o terminador nulo, para o destino. Não verifica o tamanho do destino, então estoura o buffer se a origem for maior.
Onde usar
Em code review, é um alerta: só é seguro se o tamanho da origem for comprovadamente menor que o do destino. Alternativas são snprintf, strlcpy (BSD) ou medir e usar memcpy.
Em código
char dst[8];
const char *src = "abc";
if (strlen(src) < sizeof dst)
strcpy(dst, src); // cabe, com o '\0'Exemplos
Replace this strcpy with snprintf, the size isn't checked.
Troque esse strcpy por snprintf, o tamanho não é checado.
strcpy copies until it finds the null byte.
O strcpy copia até achar o byte nulo.
Cuidado
Usar com origem e destino sobrepostos, o que também é comportamento indefinido.
Origem
Abreviação de string copy.