Comment concaténer deux chaînes de caractères en C++

Jinku Hu 12 octobre 2023
  1. Utilisez l’opérateur += pour concaténer deux chaînes de caractères en C++
  2. Utiliser la méthode append() pour concaténer deux chaînes de caractères en C++
Comment concaténer deux chaînes de caractères en C++

Cet article présente plusieurs méthodes pour concaténer deux chaînes de caractères en C++.

Utilisez l’opérateur += pour concaténer deux chaînes de caractères en C++

Le type std::string est mutable et supporte nativement les opérateurs = et +=, ce dernier se traduisant directement par une concaténation de chaînes en place. Cet opérateur peut être utilisé pour concaténer une variable de type string, une chaîne littérale, une chaîne de style C, ou un caractère à un objet string. L’exemple suivant montre deux variables de type string qui sont ajoutées l’une à l’autre et envoyées à la 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;
}

Production:

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

On peut aussi construire une fonction personnalisée qui prend deux variables string comme paramètres et retourne le résultat de la concaténation. Notez que string a un constructeur de déplacement, donc le retour de longues chaînes par valeur est assez efficace. La fonction concTwoStrings construit un nouvel objet string, qui est assigné à 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;
}

Production:

string2: Starting string  conc two strings

Utiliser la méthode append() pour concaténer deux chaînes de caractères en C++

Append est la méthode intégrée de la classe std::string. Elle offre de riches fonctionnalités, qui peuvent toutes être explorées dans son manuel page. Dans ce cas, nous l’utilisons pour concaténer une valeur de chaîne littérale à l’objet 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;
}

Production:

Temporary string appended sequence

La méthode append retourne un pointeur vers cet objet, ce qui permet de faire plusieurs appels de fonction enchaînés et d’ajouter plusieurs fois une variable string. Cette méthode peut également ajouter une liste de caractères d’initialisation avec la syntaxe suivante: 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;
}

Production:

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

Article connexe - C++ String