Cómo concentrar dos cadenas de caracteres en C++
-
Use el operador
+=
para concatenar dos cadenas en C++ -
Usa el método
append()
para concentrar dos cadenas de caracteres en C++
Este artículo demostrará múltiples métodos sobre cómo concatenar dos cadenas de caracteres en C++.
Use el operador +=
para concatenar dos cadenas en C++
El tipo std::string
es mutable y soporta nativamente los operadores =
y +=
, este último se traduce directamente en la concatenación de cadenas de caracteres in situ. Este operador puede ser usado para concatenar una variable de tipo string
, una cadena literal, una string
de tipo C, o un carácter a un objeto string
. El siguiente ejemplo muestra dos variables string
que se agregan entre sí y se envían a la consola.
#include <iostream>
#include <string>
using std::copy;
using std::cout;
using std::endl;
using std::string;
int main() {
string string1("Starting string ");
string string2("end of the string ");
cout << "string1: " << string1 << endl;
string1 += string2;
cout << "string1: " << string1 << endl;
return EXIT_SUCCESS;
}
Resultado:
string1: Starting string
string1: Starting string end of the string
Alternativamente, se puede construir una función personalizada que tome dos variables string
como parámetros y devuelva el resultado de la concatenación. Note que string
tiene un constructor de movimientos, por lo que devolver cadenas largas por valor es bastante eficiente. La función concTwoStrings
construye un nuevo objeto string
, que se asigna a la variable string2
.
#include <iostream>
#include <string>
using std::copy;
using std::cout;
using std::endl;
using std::string;
string concTwoStrings(const string& s1, const string& s2) { return s1 + s2; }
int main() {
string string1("Starting string ");
string string2 = concTwoStrings(string1, " conc two strings");
cout << "string2: " << string2 << endl;
return EXIT_SUCCESS;
}
Resultado:
string2: Starting string conc two strings
Usa el método append()
para concentrar dos cadenas de caracteres en C++
append
es el método incorporado de la clase std::string
. Ofrece una rica funcionalidad, que puede ser explorada en su manual página. En este caso, lo utilizamos para concatenar un valor de cadena de caracteres literal con el objeto string
.
#include <iostream>
#include <string>
using std::copy;
using std::cout;
using std::endl;
using std::string;
int main() {
string string("Temporary string");
string.append(" appended sequence");
cout << string << endl;
return EXIT_SUCCESS;
}
Resultado:
Temporary string appended sequence
El método append
devuelve un puntero a this
objeto para que puedas hacer múltiples llamadas a funciones encadenadas y añadir a una variable string
varias veces. Este método también puede añadir una lista de caracteres inicializadores con la siguiente sintaxis: append({ 'a', 'b', 'c', 'd'})
.
#include <iostream>
#include <string>
using std::copy;
using std::cout;
using std::endl;
using std::string;
int main() {
string string1("Starting strings");
string string2("end of the string");
string1.append(" ").append(string2).append("\n");
cout << string1;
return EXIT_SUCCESS;
}
Resultado:
Starting string end of the string
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn FacebookArtículo relacionado - C++ String
- Encuentre el primer carácter repetido en una cadena en C++
- Encuentre la subcadena común más larga en C++
- Poner en mayúscula la primera letra de una cadena en C++
- Comparación de cadenas y caracteres en C++
- Eliminar el último carácter de una cadena en C++
- Obtener el último carácter de una cadena en C++