Como concatenar duas strings em C++

Jinku Hu 12 outubro 2023
  1. Utilize += Operador para concatenar duas strings em C++
  2. Utilize append() Method to Concatenate Two Strings in C++
Como concatenar duas strings em 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
Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

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

Artigo relacionado - C++ String