Programar em C/Strings: diferenças entre revisões

[edição verificada][edição não verificada]
Conteúdo apagado Conteúdo adicionado
Linha 36:
/*TL'*/
 
~;/l
=== strcpy ===
 
'''<tt>strcpy</tt>''' copia o conteúdo de uma string para outra e coloca um terminador de string. Sua sintaxe é <code>strcpy (''destino'', ''origem'')</code>.
 
char nome[] = "Clarice Lispector";
char nome2[] = "Oswald de Andrade";
 
strcpy (nome, nome2);
// agora <var>nome</var> conterá "Oswald de Andrade"
 
Tome cuidado com strcpy(), pois se a string a ser copiada for maior que a string de destino, provavelmente você gravará dados em lugares indesejados ― um problema conhecido como '''estouro de buffer'''. Para evitar esse problema, use a função '''<tt>strncpy</tt>''', que recebe um terceiro argumento que corresponde ao número máximo de caracteres a serem copiados:
 
char msg[] = "Bom dia!";
char nome[] = "Maria da Silva";
strncpy (msg, nome, strlen(msg));
// agora <var>msg</var> conterá "Maria da"
 
=== strcat ===