Wie man zwei Zeichenketten in C++ verkettet
-
Verwenden Sie den Operator
+=
, um zwei Zeichenketten in C++ zu verknüpfen -
Verwenden Sie die Methode
append()
, um zwei Zeichenketten in C++ zu verknüpfen
In diesem Artikel werden mehrere Methoden zur Verkettung von zwei Zeichenketten in C++ demonstriert.
Verwenden Sie den Operator +=
, um zwei Zeichenketten in C++ zu verknüpfen
Der Typ std::string
ist wandelbar und unterstützt nativ die Operatoren =
und +=
, wobei der letztere direkt in eine Zeichenkettenverkettung an Ort und Stelle übersetzt wird. Dieser Operator kann verwendet werden, um eine Variable vom Typ string
, ein String-Literal, einen String im C-Stil oder ein Zeichen mit einem string
-Objekt zu verknüpfen. Das folgende Beispiel zeigt, wie zwei string
-Variablen aneinander gehängt und auf die Konsole ausgegeben werden.
#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;
}
Ausgabe:
string1: Starting string
string1: Starting string end of the string
Alternativ kann man eine benutzerdefinierte Funktion konstruieren, die zwei String-Variablen als Parameter nimmt und das Ergebnis der Verkettung zurückgibt. Beachten Sie, dass string
einen Verschiebungskonstruktor hat, so dass die Rückgabe langer Strings als Wert recht effizient ist. Die Funktion concTwoStrings
konstruiert ein neues string
-Objekt, das der Variablen string2
zugewiesen wird.
#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;
}
Ausgabe:
string2: Starting string conc two strings
Verwenden Sie die Methode append()
, um zwei Zeichenketten in C++ zu verknüpfen
append
ist die eingebaute Methode der Klasse std::string
. Sie bietet reichhaltige Funktionalität, die alle in ihrem Handbuch Seite erläutert werden können. In diesem Fall verwenden wir sie, um einen literalen String-Wert mit dem string
-Objekt zu verknüpfen.
#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;
}
Ausgabe:
Temporary string appended sequence
Die Methode append
gibt einen Zeiger auf this
Objekt zurück, so dass Sie mehrere verkettete Funktionsaufrufe durchführen und mehrmals an eine string
-Variable anhängen können. Diese Methode kann auch eine Initialisierungsliste von Zeichen mit der folgenden Syntax anhängen: 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;
}
Ausgabe:
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 FacebookVerwandter Artikel - C++ String
- Finden Sie das erste sich wiederholende Zeichen in einer Zeichenfolge in C++
- Finden Sie die längste gemeinsame Teilzeichenfolge in C++
- Großschreiben des ersten Buchstabens einer Zeichenfolge in C++
- Vergleich von String und Character in C++
- Entfernen Sie das letzte Zeichen aus einer Zeichenkette in C++
- Abrufen des letzten Zeichens einer Zeichenkette in C++