Wie man Int zu einer Zeichenkette in C++ hinzufügt

Jinku Hu 12 Oktober 2023
  1. Verwenden Sie den Operator += und die Funktion std::to_string, um Int an eine Zeichenkette anzuhängen
  2. Verwenden Sie std::stringstream, um Int zu String hinzuzufügen
  3. Verwenden Sie die Methode append(), um Int zu einer Zeichenkette hinzuzufügen
Wie man Int zu einer Zeichenkette in C++ hinzufügt

In diesem Artikel werden mehrere Methoden zum Hinzufügen von Ganzzahlen zu Zeichenketten in C++ erläutert.

Verwenden Sie den Operator += und die Funktion std::to_string, um Int an eine Zeichenkette anzuhängen

Die Klasse std::string unterstützt die gebräuchlichste Form der Verkettung unter Verwendung der Kernoperatoren wie + und +=. Im folgenden Beispiel demonstrieren wir letztere, da sie die eloquenteste Lösung ist. Bevor der int-Wert an das Ende der Zeichenkette angehängt wird, sollte der int-Wert in den gleichen Typ konvertiert werden, der mit dem Funktionsaufruf std::to_string implementiert wird.

#include <iostream>
#include <string>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::to_string;

int main() {
  string app_str = "This string will be appended to ";
  int number = 12345;

  cout << app_str << endl;
  app_str += to_string(number);
  cout << app_str << endl;

  return EXIT_SUCCESS;
}

Ausgabe:

This string will be appended to
This string will be appended to 12345

Die obige Methode ist auch mit Fließkommazahlen kompatibel, wie im nächsten Code-Beispiel gezeigt wird:

#include <iostream>
#include <string>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::to_string;

int main() {
  string app_str = "This string will be appended to ";
  float fnumber = 12.345;

  cout << app_str << endl;
  app_str += to_string(fnumber);
  cout << app_str << endl;

  return EXIT_SUCCESS;
}

Ausgabe:

This string will be appended to
This string will be appended to 12.345000

Verwenden Sie std::stringstream, um Int zu String hinzuzufügen

stringstream kann mehrere Eingabetypen aufnehmen und sie als String-Format speichern. Es bietet einfach zu verwendende Operatoren und eingebaute Methoden, um die konstruierte Zeichenkette zur Konsolenausgabe umzuleiten.

#include <iostream>
#include <sstream>
#include <string>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::stringstream;
using std::to_string;

int main() {
  string app_str = "This string will be appended to ";
  int number = 12345;
  stringstream tmp_stream;

  cout << app_str << endl;
  tmp_stream << app_str << number;
  cout << tmp_stream.str() << endl;

  return EXIT_SUCCESS;
}

Ausgabe:

This string will be appended to
This string will be appended to 12345

Verwenden Sie die Methode append(), um Int zu einer Zeichenkette hinzuzufügen

append() ist eine Member-Funktion der Klasse std::basic_string, und sie kann mehrere Arten von Anhänge-Operationen durchführen, wie durch die Parameter angegeben. In der einfachsten Form, wenn ein einzelnes String-Argument übergeben wird, hängt es an das Objekt an, von dem aus die Methode aufgerufen wird. Als Alternative kann es ein einzelnes Zeichen und eine ganze Zahl nehmen, die die angehängte Anzahl eines bestimmten Zeichens darstellt. Wir können die vollständige Liste der Parameter im Handbuch nachlesen.

#include <iostream>
#include <string>
#include <vector>

using std::cin;
using std::cout;
using std::endl;
using std::string;
using std::to_string;

int main() {
  string app_str = "This string will be appended to ";
  int number = 12345;

  cout << app_str << endl;
  app_str.append(to_string(number));
  cout << app_str;

  return EXIT_SUCCESS;
}

Ausgabe:

This string will be appended to
This string will be appended to 12345
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