Curso de C++ desde cero

¿Cómo funciona la concatenación y los strings en C++?

Capítulo 7: Los strings y la concatenación

En este capítulo te voy a mostrar con ejemplos prácticos lo que son los strings y como se concatena en C++.

¿Qué son los strings?

Los strings son cadenas de caracteres (texto). En ellos podemos almacenar tanto letras, como números y símbolos.

En C++ los strings se distinguen por el tipo de dato string y por las comillas dobles que siempre envuelven el texto.

string pais = "Italia";

Cuando almacenas un número en un string, este pasa a ser un número más en el texto, no son operables. En la línea 1, tienes un número operable, en la 3, no, solo es texto.

int numero1 = 10;
				
string numero2 = "10";

¿Es necesario #include <string>?

Ahora viene cuando se complica un poquito el asunto. No te asustes. No mucho.

Para utilizar el tipo de dato string, hay que poner el archivo de encabezado #include <string>.

Si lo pruebas como en el siguiente ejemplo, no tendrás problemas sin añadirlo:

#include <windows.h>
#include <iostream>

using namespace std;

int main()
{
	SetConsoleOutputCP(1252);

	string sitioWeb = "www.programacionfacil.org";

	cout << sitioWeb;
}

Entonces, si funciona, ¿para qué tengo que añadir el encabezado #include <string>?

En este caso, ha habido suerte y el encabezado #include <iostream> depende de #include <string>, pero no es obligatorio que los encabezados estándar se incluyan entre sí (salvo excepciones que no voy a explicar ahora). El caso, es que te puede funcionar en Visual Studio 2022 con su compilador (traductor de lenguaje de alto nivel como C++ a lenguaje máquina que entiende el hardware), pero puede que en otro no, por lo tanto, para no dejar cosas al azar, inclúyelo cada vez que tengas que utilizar strings.

Te debe quedar el código así:

#include <windows.h>
#include <iostream>
#include <string>

using namespace std;

int main()
{
	SetConsoleOutputCP(1252);

	string sitioWeb = "www.programacionfacil.org";

	cout << sitioWeb;
}

El encabezado #include <windows.h>, no tiene nada que ver aquí. Lo digo por si vienes solo para este capítulo y no estás haciendo el curso.

¿Qué es concatenar? ¿Cómo se concatena?

Concatenar es la acción de unir dos strings (también dos variables que contienen strings).

Para concatenar strings, podemos utilizar el operador de adición + que también es el que se utiliza para sumar.

string nombre = "Enrique";
string apellido1 = "Barros";
string apellido2 = "Fernández";

string nombreCompleto = nombre + apellido1 + apellido2;

cout << nombreCompleto;

¡Vaya! la concatenación funciona, pero no deja espacios...

EnriqueBarrosFernández

No te preocupes. Utiliza la concatenación para añadir espacios. Hasta incluso, un punto al final, porqué no.

string nombre = "Enrique";
string apellido1 = "Barros";
string apellido2 = "Fernández";

string nombreCompleto = nombre + " " + apellido1 + " " + apellido2 + ".";

cout << nombreCompleto;
Enrique Barros Fernández.

Concatenar con la función append()

Tenemos una función disponible, llamada append() con la que podemos concatenar sin el símbolo de adición. Es un poco más complicado, pero lo debes conocer.

string nombre = "Enrique";
string apellido1 = "Barros";
string apellido2 = "Fernández";

string nombreCompleto = nombre.append(" " + apellido1 + " ").append(apellido2 + ".");

cout << nombreCompleto;

Llamamos a la variable nombre. Con un punto, llamamos a la función que queramos utilizar con esta variable (ya hablaré de las funciones, ahora no te preocupes por ellas). La función append(), entre sus paréntesis espera un string para concatenar (o varios). Puesto que no separa los strings concatenados, le he añadido un string con un espacio, le concateno el string de apellido1, otro espacio tras este y a todo esto, le añado con otro punto, otro append().

Enrique Barros Fernández.

Utiliza la forma que mejor te vaya, esta es un poco más difícil. En programación hay muchos caminos para hacer lo mismo.


Comentarios

Si te quedan dudas sobre el temario, sobre C++, o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.