Nesta aula iremos aprender como fazer uma cópia de uma string na linguagem C com a função strcpy().
É muito comum quem está aprendendo a programar tentar copiar uma string fazendo uma atribuição. Contudo, isso não funciona. Lembre-se que uma string é um vetor de caracteres e não é possível copiar todo o conteúdo de um vetor fazendo uma atribuição.
Assim, existem duas formas de se copiar uma string:
- com uma repetição até o final da string, copiando caracter por caracter;
- com a função strcpy().
Você já sabe como percorrer uma string (um vetor de caracteres) e copiar cada caracter da string. Hoje vamos aprender a utilizar a função strcpy().
Esta função é bem simples de utilizar. Como desejamos copiar o conteúdo de uma string para outra string, ele recebe dois parâmetros, a string de destino e a string de origem, assim: strcpy(string_destino, string_a_ser_copiada);
No trecho de código a seguir a string palavra1 está sendo copiada para a string palavra2.
#include <stdio.h> #include <stdlib.h> #include <string.h> int main(){ char palavra1[50] = {"bola"}; // \0 char palavra2[50] = {"abacate"}; printf("\nAntes de copiar:\npalavra 1: %s\npalavra2: %s\n", palavra1, palavra2); strcpy(palavra2, palavra1); printf("\nDepois de copiar:\npalavra 1: %s\npalavra2: %s\n", palavra1, palavra2); return 0; }