Concatena due stringhe in C++

Jinku Hu 12 ottobre 2023
  1. Usa l’operatore += per concatenare due stringhe in C++
  2. Usa il metodo append() per concatenare due stringhe in C++
Concatena due stringhe in C++

Questo articolo illustrerà più metodi su come concatenare due stringhe in C++.

Usa l’operatore += per concatenare due stringhe in C++

Il tipo std::string è modificabile e supporta nativamente gli operatori = e +=, l’ultimo dei quali si traduce direttamente in concatenazione di stringhe sul posto. Questo operatore può essere usato per concatenare una variabile di tipo string, una stringa letterale, una stringa in stile C o un carattere a un oggetto string. L’esempio seguente mostra due variabili stringa che vengono aggiunte l’una all’altra e inviate alla 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;
}

Produzione:

string1:  Starting string
string1:  Starting string end of the string

In alternativa, possiamo costruire una funzione personalizzata che prende due variabili stringa come parametri e restituisce il risultato della concatenazione. Nota che string ha un costruttore di mosse, quindi restituire stringhe lunghe per valore è abbastanza efficiente. La funzione concTwoStrings costruisce un nuovo oggetto stringa, che è assegnato alla variabile 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;
}

Produzione:

string2: Starting string  conc two strings

Usa il metodo append() per concatenare due stringhe in C++

append è il metodo integrato della classe std::string. Offre ricche funzionalità, che possono essere esplorate nel suo manuale pagina. In questo caso, lo utilizziamo per concatenare un valore stringa letterale all’oggetto 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;
}

Produzione:

Temporary string appended sequence

Il metodo append restituisce un puntatore all’oggetto this in modo da poter effettuare più chiamate a funzioni concatenate e aggiungere più volte a una variabile string. Questo metodo può anche aggiungere una lista di caratteri dell’inizializzatore con la seguente sintassi: 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;
}

Produzione:

Starting string end of the string
Autore: 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

Articolo correlato - C++ String