Introdução
Neste laboratório, você aprenderá como copiar strings em C++. Usaremos tanto objetos string quanto strings no estilo C para demonstrar isso.
Criar um novo arquivo C++
Navegue até o diretório ~/project e crie um novo arquivo C++ chamado main.cpp.
cd ~/project
touch main.cpp
Copiando Objetos String
Podemos usar o operador de atribuição para copiar um objeto string para outro. Siga o código abaixo:
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1, s2;
cout << "Enter string s1: ";
getline(cin, s1);
s2 = s1;
cout << "s1 = " << s1 << endl;
cout << "s2 = " << s2;
return 0;
}
Explicação:
- Começamos incluindo as bibliotecas necessárias para este programa, que são
iostreamestring. - Em seguida, definimos dois objetos string
s1es2. - O usuário é solicitado a inserir a string s1 usando a função
getline(), que lê a string inteira, incluindo espaços. - Atribuímos s1 a s2 usando o operador de atribuição.
- Finalmente, imprimimos s1 e s2.
Saída do código
Enter string s1: Hello World!
s1 = Hello World!
s2 = Hello World!
Copiando Strings no Estilo C
Usaremos a função strcpy() da biblioteca cstring para copiar strings no estilo C. Siga o código abaixo:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char s1[100], s2[100];
cout << "Enter string s1: ";
cin.getline(s1, 100);
strcpy(s2, s1);
cout << "s1 = " << s1 << endl;
cout << "s2 = "<< s2;
return 0;
}
Explicação:
- Começamos incluindo as bibliotecas necessárias para este programa, que são
iostreamecstring. - Em seguida, definimos dois arrays de strings no estilo C,
s1es2. - O usuário é solicitado a inserir a string s1.
- A função
getline()não é usada neste caso porque é usada apenas para objetos string e não para strings no estilo C. Em vez disso, usamoscin.getline, onde o primeiro argumento é a variável do array e o segundo argumento é o tamanho máximo do array a ser lido. - Copiamos a string s1 para s2 usando a função
strcpy()emcstring. - Finalmente, imprimimos s1 e s2.
Saída do código
Enter string s1: Hello World!
s1 = Hello World!
s2 = Hello World!
Executar o arquivo
Para executar o código no terminal, abra o terminal na pasta do projeto e execute os seguintes comandos:
g++ main.cpp -o main
./main
Este comando compilará o arquivo main.cpp e produzirá um arquivo executável chamado main no mesmo diretório. O segundo comando executa o arquivo main e exibe o resultado no terminal.
Resumo
Este laboratório discutiu como copiar strings em C++ usando objetos string e strings no estilo C. Você aprendeu que, para objetos string, pode usar o operador de atribuição e, para strings no estilo C, pode usar a função strcpy() em cstring. Seguindo estes passos simples, você pode facilmente copiar strings em C++.



