std::cin und std::cout richtig verwenden
Lesen und schreiben Sie über die Standardstreams und vermeiden Sie häufige Fallstricke
std::cin und std::cout richtig verwenden ist eine kostenlose C++ Academy-Lektion auf CoddyKit. Dies ist Lektion 1 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C++ Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.
Der iostream-Header
Sowohl std::cin als auch std::cout sind Objekte aus dem Header <iostream>. Sie bilden die Standardeingabe und -ausgabe Ihres Terminals ab.
Ausgabe mit std::cout
Geben Sie Werte mit << über std::cout aus. Das funktioniert für jeden Typ, für den eine Überladung von operator<< vorhanden ist — einschließlich aller integrierten Typen und std::string.
int age = 30;
std::string name = "Ada";
std::cout << "Name: " << name << ", Age: " << age << "\n";Eingabe mit std::cin
Lesen Sie Werte mit std::cin >> variable ein. Leerraumzeichen trennen die Tokens.
int age;
std::string name;
std::cout << "Enter name and age: ";
std::cin >> name >> age;
std::cout << name << " is " << age << "\n";Leerraum überspringen
Standardmäßig überspringt >> führenden Leerraum — Leerzeichen, Tabulatoren und Zeilenumbrüche — vor dem Lesen. Das ist meistens erwünscht, aber beim Lesen einzelner Zeichen müssen Sie darauf achten.
Eine vollständige Zeile einlesen
std::cin >> name liest nur ein Wort. Um eine Zeile mit Leerzeichen zu lesen, verwenden Sie std::getline.
std::string line;
std::getline(std::cin, line);
std::cout << "You said: " << line;>> und getline kombinieren: Ein häufiger Fehler
Nach std::cin >> n bleibt der Zeilenumbruch im Puffer. Das nächste getline liest eine leere Zeichenkette. Entfernen Sie den Zeilenumbruch zuerst.
int n;
std::cin >> n;
std::cin.ignore(); // consume the leftover newline
std::string line;
std::getline(std::cin, line);Stream-Zustand
Streams haben Zustandsbits: good, eof, fail und bad. Verwenden Sie if (std::cin), um nach einer Extraktion zu prüfen, ob der Stream noch verwendet werden kann.
EOF erkennen
Das Ende der Datei wird unter Unix mit Ctrl+D und unter Windows mit Ctrl+Z signalisiert. Lassen Sie die Schleife laufen, solange der Stream gültig ist, um alle Eingaben zu verarbeiten.
int n;
while (std::cin >> n) {
std::cout << n * 2 << "\n";
}Schnellere Ein-/Ausgabe für Wettbewerbsprogrammierung
Deaktivieren Sie die Synchronisierung mit der C-Standard-Ein-/Ausgabe, um beim Competitive Programming schneller zu lesen. Lösen Sie außerdem die Verbindung zwischen cin und cout.
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);std::endl und \n erneut
std::endl schreibt einen Zeilenumbruch und leert den Puffer. "\n" schreibt nur den Zeilenumbruch. Verwenden Sie in Schleifen "\n", damit die Leistung hoch bleibt.
Manuell leeren
Wenn Sie den Puffer ohne einen Zeilenumbruch leeren müssen, verwenden Sie std::flush. Das ist beispielsweise für Fortschrittsanzeigen nützlich.
for (int i = 0; i < 100; ++i) {
std::cout << "\r" << i << "%" << std::flush;
// ... work ...
}Kurze Überprüfung
Was ist bei der Ausgabe der Unterschied zwischen std::endl und "\n"?
Zusammenfassung
Verwenden Sie std::cout mit << zum Ausgeben und std::cin mit >> zum Lesen von Tokens. Für vollständige Zeilen verwenden Sie std::getline und entfernen Sie nach numerischen Eingaben übrig gebliebene Zeilenumbrüche mit cin.ignore().
Häufig gestellte Fragen
Ist die Lektion „std::cin und std::cout richtig verwenden“ kostenlos?
Ja — der vollständige Text von „std::cin und std::cout richtig verwenden“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C++ Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C++ Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „std::cin und std::cout richtig verwenden“?
Lesen und schreiben Sie über die Standardstreams und vermeiden Sie häufige Fallstricke Du übst C++ Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C++ Academy zu starten?
Keine Vorkenntnisse erforderlich. C++ Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 1 von 4.
Wie lange dauert die Lektion „std::cin und std::cout richtig verwenden“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C++ Academy-Lektion Code schreiben und ausführen?
Ja. Jede C++ Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- std::cin und std::cout richtig verwenden
- Ausgaben mit iomanip formatieren
- Eingaben sicher mit getline lesen
- Arbeiten mit std::cerr und std::clog