So drucken Sie eine Zeichenkette in C++

Jinku Hu 12 Oktober 2023
  1. Verwendung von zum Drucken einer Zeichenkette die Operatoren std::cout und <<
  2. Verwendung von den std::copy Algorithmus zum Drucken einer Zeichenkette
  3. Verwendung von die Funktion printf() zum Drucken einer Zeichenkette
So drucken Sie eine Zeichenkette in C++

In diesem Artikel werden mehrere Methoden zum Drucken einer Zeichenkette in C++ demonstriert.

Verwendung von zum Drucken einer Zeichenkette die Operatoren std::cout und <<

std::cout ist das globale Objekt zur Steuerung der Ausgabe in einen Stream-Puffer. Um die String-Variable s1 in den Puffer auszugeben, müssen wir den Operator - << verwenden, der als Stream-Insertion-Operator bezeichnet wird. Das folgende Beispiel demonstriert eine einzelne String-Ausgabeoperation.

#include <iostream>
#include <iterator>
#include <string>

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

int main() {
  string s1 = "This string will be printed";
  cout << s1;
  cout << endl;

  return EXIT_SUCCESS;
}

Ausgabe:

This string will be printed

Verwendung von den std::copy Algorithmus zum Drucken einer Zeichenkette

Die Methode copy stammt aus der <algorithm> STL-Bibliothek, und sie kann die Bereichselemente auf vielfältige Weise manipulieren. Da wir auf den string-Container selbst als Bereich zugreifen können, können wir jedes Element ausgeben, indem wir dem copy-Algorithmus das Argument std::ostream_iterator<char> hinzufügen.

Beachten Sie, dass diese Methode auch ein spezifisches Trennzeichen zwischen jedem Zeichen der Zeichenkette übergeben kann. Im folgenden Code wird kein Trennzeichen ("") angegeben, um Zeichenkette in Originalform zu drucken.

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

using std::cin;
using std::copy;
using std::cout;
using std::endl;
using std::string;
using std::vector;

int main() {
  string s1 = "This string will be printed";

  copy(s1.begin(), s1.end(), std::ostream_iterator<char>(cout, ""));
  cout << endl;

  return EXIT_SUCCESS;
}

Verwendung von die Funktion printf() zum Drucken einer Zeichenkette

printf ist ein leistungsfähiges Werkzeug für die formatierte Ausgabe. Es ist Teil der C-Standard-Eingabe-Ausgabe-Bibliothek. Es kann direkt aus C++-Code aufgerufen werden. printf hat die variable Anzahl von Parametern und nimmt eine Zeichenkettenvariable vom Typ char *, was bedeutet, daß wir die Methode c_str von der Variablen s1 aufrufen müssen, um sie als Argument zu übergeben. Beachten Sie, dass jeder Typ seinen eigenen Format-Bezeichner hat (z. B. string - %s), die in der folgenden Tabelle aufgelistet sind.

Spezifizierer Beschreibung
% Druckt ein literales %-Zeichen (dieser Typ akzeptiert keine Felder für Flags, Breite, Genauigkeit, Länge).
d, i int als vorzeichenbehaftete Ganzzahl. %d und %i sind synonym für die Ausgabe, unterscheiden sich aber, wenn sie mit scanf für die Eingabe verwendet werden (wobei die Verwendung von %i eine Zahl als hexadezimal interpretiert, wenn ihr 0x vorangestellt ist, und als oktal, wenn ihr 0 vorangestellt ist).
u Dezimal ohne Vorzeichen drucken int.
f, F double in normaler (Festkomma-)Notation. f und F unterscheiden sich nur darin, wie die Zeichenketten für eine unendliche Zahl oder NaN gedruckt werden (inf, infinity und nan für f; INF, INFINITY und NAN für F).
e, E doppelter Wert in Standardform (d.ddde±dd). Eine E-Konvertierung verwendet den Buchstaben E (statt e) zur Einführung des Exponenten.
g, G double entweder in normaler oder in exponentieller Notation, je nachdem, was für seine Größe besser geeignet ist. g verwendet Kleinbuchstaben, G Großbuchstaben.
x, X ohne Vorzeichen int als Hexadezimalzahl. x verwendet Kleinbuchstaben und X Großbuchstaben.
o unsigned int in oktal.
s null-terminierte Zeichenkette.
c Zeichen (Charakter).
p void* (Zeiger auf void) in einem von der Implementierung definierten Format.
a, A double in hexadezimaler Notation, beginnend mit 0x oder 0X. a verwendet Kleinbuchstaben, A verwendet Großbuchstaben.
n Nichts drucken, sondern schreibt die Anzahl der bisher erfolgreich geschriebenen Zeichen in einen Integer-Zeiger-Parameter.
#include <iostream>
#include <iterator>
#include <string>

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

int main() {
  string s1 = "This string will be printed";
  cout << s1;
  cout << endl;

  printf("%s", s1.c_str());
  cout << endl;

  return EXIT_SUCCESS;
}
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