Comment 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++ -
Utiliser la méthode
append()
pour 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
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 FacebookArticle connexe - C++ String
- Comparaison de chaîne et de caractère en C++
- Supprimer le dernier caractère d'une chaîne en C++
- Obtenir le dernier caractère d'une chaîne en C++
- Différences entre l'opérateur sizeof et la fonction strlen pour les chaînes en C++
- Effacer la chaîne en C++
- Imprimer toutes les permutations de la chaîne en C++