Text und Zahlen mit std::cout ausgeben
std::cout ist das Objekt für die Standardausgabe. Ein Objekt ist in C++ eine Instanz mit einem Typ und Speicher; hier stellt die Standardbibliothek das Objekt bereit. Standardausgabe landet meist im Terminal, kann aber auch in eine Datei umgeleitet werden. „Console Out“ ist eine Merkhilfe, kein C++-Befehl namens Console.Out.
Text und Zahlen mit std::cout ausgeben#
Ein- und Ausgabe · Lektion 7 von 60
Voraussetzungen: Erstes Programm. Lernziel: Du setzt Ausgaben aus mehreren Teilen zusammen.
std::cout ist das Objekt für die Standardausgabe. Ein Objekt ist in C++ eine Instanz mit einem Typ und Speicher; hier stellt die Standardbibliothek das Objekt bereit. Standardausgabe landet meist im Terminal, kann aber auch in eine Datei umgeleitet werden. „Console Out“ ist eine Merkhilfe, kein C++-Befehl namens Console.Out.
1#include <iostream>2 3int main() {4 std::cout << "Hallo" << ' ' << "Welt!" << '\n';5 std::cout << "Antwort: " << 42 << '\n';6 std::cout << "Summe: " << (2 + 3) << '\n';7}1Hallo Welt!2Antwort: 423Summe: 5Was macht <<?#
Hier ist << der Einfügeoperator: Er schreibt einen Wert in den Stream. Dieselben Zeichen können bei anderen Typen etwas anderes bedeuten. Eine an die beteiligten Typen angepasste Operatorfunktion heißt Operatorüberladung.
Du kannst mehrere Ausgaben verketten, also in einer Anweisung hintereinander schreiben. Leerzeichen entstehen nur, wenn du sie ausdrücklich ausgibst. ' ' ist ein Zeichenliteral mit einem Leerzeichen, " " ein Stringliteral. Beide lassen sich hier ausgeben. Verwende für Wörter doppelte Anführungszeichen.
Zeilenumbruch und Puffer#
Ein Puffer ist ein Zwischenspeicher. Ausgaben können zunächst gesammelt werden, bevor sie an das Ziel weitergereicht werden. \n ist ein Zeilenumbruch. std::endl schreibt einen Zeilenumbruch und fordert zusätzlich das Leeren des Stream-Puffers an. Dieses Leeren heißt Flush.
Für normale Zeilen ist \n ein guter Ausgangspunkt. Für einen ausdrücklichen Flush ohne neue Zeile gibt es std::flush. Ein Flush garantiert nicht, dass Daten auf einem physischen Datenträger dauerhaft gespeichert sind.
Fehlerausgabe#
std::cerr schreibt in den Standardfehlerstrom. Dieser ist für Fehlermeldungen vorgesehen und kann getrennt von der normalen Ausgabe umgeleitet werden. Er wird standardmäßig nach Ausgabeoperationen geleert. std::clog nutzt ebenfalls das Standardfehlerziel, ohne diese automatische Leerung bei jeder Operation.
Übung#
Gib 3 + 4 = 7 aus, wobei die 7 berechnet wird.
Lösung
std::cout << "3 + 4 = " << (3 + 4) << '\n';. Text in Anführungszeichen wird nicht als Rechnung ausgeführt.
Weiterlernen#
Zurück: Vom Quelltext zum Programm: Build und Fehlermeldungen · Kursübersicht · Weiter: Escape-Sequenzen, Sonderzeichen und Raw Strings
Kommentare 0
Kommentare sind für diese Seite deaktiviert.