Introducción
En este laboratorio, aprenderá cómo copiar cadenas en C++. Usaremos tanto objetos de cadena como cadenas de estilo C para demostrar esto.
Crea un nuevo archivo de C++
Navega hasta el directorio ~/proyecto y crea un nuevo archivo de C++ llamado main.cpp.
cd ~/proyecto
touch main.cpp
Copiar objetos de cadena
Podemos usar el operador de asignación para copiar un objeto de cadena a otro. Siga el código a continuación:
#include <iostream>
#include <string>
using namespace std;
int main() {
string s1, s2;
cout << "Ingrese la cadena s1: ";
getline(cin, s1);
s2 = s1;
cout << "s1 = " << s1 << endl;
cout << "s2 = " << s2;
return 0;
}
Explicación:
- Comenzamos incluyendo las bibliotecas necesarias para este programa, que son
iostreamystring. - Luego definimos dos objetos de cadena
s1ys2 - Se le pide al usuario que ingrese la cadena s1 usando la función
getline(), que lee toda la cadena incluyendo los espacios. - Asignamos s1 a s2 usando el operador de asignación.
- Finalmente, imprimimos s1 y s2.
Salida del código
Ingrese la cadena s1: Hello World!
s1 = Hello World!
s2 = Hello World!
Copiar cadenas de estilo C
Usaremos la función strcpy() de la biblioteca cstring para copiar cadenas de estilo C. Siga el código a continuación:
#include <iostream>
#include <cstring>
using namespace std;
int main() {
char s1[100], s2[100];
cout << "Ingrese la cadena s1: ";
cin.getline(s1, 100);
strcpy(s2, s1);
cout << "s1 = " << s1 << endl;
cout << "s2 = "<< s2;
return 0;
}
Explicación:
- Comenzamos incluyendo las bibliotecas necesarias para este programa, que son
iostreamycstring - Luego definimos dos arrays de cadenas de estilo C
s1ys2 - Se le pide al usuario que ingrese la cadena s1
- En esta instancia no se utiliza la función
getline()porque solo se utiliza para objetos de cadena y no para cadenas de estilo C. En su lugar, usamoscin.getlinedonde el primer argumento es la variable del array y el segundo argumento es el tamaño máximo del array a leer. - Copiamos la cadena s1 a s2 usando la función
strcpy()encstring - Finalmente, imprimimos s1 y s2.
Salida del código
Ingrese la cadena s1: Hello World!
s1 = Hello World!
s2 = Hello World!
Ejecuta el archivo
Para ejecutar el código en la terminal, abre la terminal en la carpeta del proyecto y ejecuta los siguientes comandos:
g++ main.cpp -o main
./main
Este comando compilará el archivo main.cpp y generará un archivo ejecutable llamado main en el mismo directorio. El segundo comando ejecutará el archivo main y mostrará el resultado en la terminal.
Resumen
Esta práctica abordó cómo copiar cadenas en C++ utilizando objetos de cadena y cadenas de estilo C. Aprendiste que para los objetos de cadena, puedes usar el operador de asignación y para las cadenas de estilo C, puedes usar la función strcpy() en cstring. Siguiendo estos pasos simples, puedes copiar fácilmente cadenas en C++.



