Creación y uso de strings en C++
Una de las utiliidades de C++ es la existencia de “strings” (cadenas de texto) como parte del lenguaje.
A continuación veremos su manejo primero con un ejemplo sencillo:
#e0e0e0; border-radius: 4px; background-color: #fcfcfc;">#include string>
#include iostream>
using namespace std;
main()
{
string mensaje;
mensaje = "Hola";
cout mensaje;
}
El manejo básico de las cadenas no presenta alguna dificultad:
- Se declaran como cualquier otra variable( string cadena )
- Se les asigna valor con el signo = , como se hace con los números enteros.
- Su valor se muestra en pantalla con “cout”, igual que para las demás variables.
Así que veamos otro ejemplo un poco más complejo:
#e0e0e0; border-radius: 4px; background-color: #fcfcfc;">#include string>
15: #include iostream>
16: using namespace std;
17:
18: main()
19: {
20: string texto1, texto2 = "Hola ", texto3("Que tal");
21:
22: texto1 = texto2 + texto3 + " estas? ";
23: cout texto1 "n";
24: string subcadena (texto1, #a52a2a; font-size: medium;">2, #a52a2a; font-size: medium;">6); // 6 letras de texto1, desde la tercera
25: cout subcadena "n";
26: string subcadena2;
27: subcadena2 = texto1.substr(#a52a2a; font-size: medium;">0, #a52a2a; font-size: medium;">5); // 5 letras de texto1, desde el comienzo
28: texto1.insert(#a52a2a; font-size: medium;">5, "Juan "); // Inserto un texto en la posicion 6
29: cout texto1 "n";
30: texto2.replace(#a52a2a; font-size: medium;">1, #a52a2a; font-size: medium;">2, "ad"); // Cambio 2 letras en la posicion 2
31: cout texto2 "n";
32: cout "La longitud de texto1 es " texto1.size() "n";
33: cout "La tercera letra de texto1 es " texto1[#a52a2a; font-size: medium;">2]
34: " o bien " texto1.at(#a52a2a; font-size: medium;">2) "n";
35: if (texto2 == "Hada ")
36: cout "Texto 2 es Hadan";
37: }
La explicación para el código seria la siguiente:
- Se puede crear una cadena sin valor inicial haciendo string texto1;
- Se le puede dar una valor inicial a la vez que se declara, haciendo string texto2 = “Hola “; o bien string texto3(“Que tal”);
- Se puede crear una cadena formada por varias, concateándolas (sumándolas), usando el signo +, así: texto1 = texto2 + texto3 + ” estas? “;
- Se puede crear una subcadena a partir de un trozo de otra, la vez que se declara, así: string subcadena (texto1, 2, 6);
- O bien se puede extraer un fragmento posteriormente: texto1.substr(0, 5);
- Se puede insertar texto en el interior de una cadena: texto1.insert(5, “Juan “);
- O reemplazar ciertas letras por otras: texto2.replace(1, 2, “ad”);
- Se puede saber el tamaño (cantidad de letras) de la cadena: texto1.size()
- Se puede acceder a una posición siguiendo el estándar de C: texto1[2]
- O bien usando la función “at”: texto1.at(2)
- Se puede comprobar el valor de una cadena (el texto almacenado) con ==, así: if (texto2 == “Hada “) …
Referencias: http:/