Wie man zwei Zeichenketten in C++ verkettet

Jinku Hu 12 Oktober 2023
  1. Verwenden Sie den Operator +=, um zwei Zeichenketten in C++ zu verknüpfen
  2. Verwenden Sie die Methode append(), um zwei Zeichenketten in C++ zu verknüpfen
Wie man zwei Zeichenketten in C++ verkettet

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
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

Verwandter Artikel - C++ String