Como concatenar duas strings em C++
-
Utilize
+=
Operador para concatenar duas strings em C++ -
Utilize
append()
Method to Concatenate Two Strings in C++
Este artigo demonstrará vários métodos sobre como concatenar duas strings em C++.
Utilize +=
Operador para concatenar duas strings em C++
O tipo std::string
é mutável e suporta nativamente =
e +=
operadores, o último dos quais se traduz diretamente em concatenação de string no local. Este operador pode ser utilizado para concatenar uma variável do tipo string
, uma string literal, uma string estilo C, ou um caractere a um objeto string
. O exemplo a seguir mostra duas variáveis do tipo string
sendo anexadas uma à outra e enviadas para o console.
#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, pode-se construir uma função personalizada que toma duas variáveis string
como parâmetros e retorna o resultado da concatenação. Note que a string
tem um construtor de movimento, portanto retornar longas strings por valor é bastante eficiente. concTwoStrings
função
constrói um novo objeto string
, que é atribuído à variável 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
Utilize append()
Method to Concatenate Two Strings in C++
append
é o método de construção da classe std::string
. Ele oferece uma rica funcionalidade, que pode ser explorada em seu manual página. Neste caso, nós o utilizamos para concatenar um valor literal de string ao 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
O método append
retorna um ponteiro para este objeto para que você possa fazer múltiplas chamadas de função encadeadas e anexar a uma variável string
várias vezes. Este método também pode anexar a lista de inicializadores de caracteres com a seguinte sintaxe: 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 Facebook