C++ Basic Input/Output:Cout, Cin, Cerr Beispiel
Was sind Streams in C++?
C++ stellt Benutzern eine Reihe von Bibliotheken zur Verfügung, mit denen sie Eingabe-/Ausgabeaufgaben ausführen können. Diese Aufgaben werden in Form von Byte-Folgen, im Volksmund Streams genannt, erledigt.
Die Streams sind zweigeteilt:
Arten von Streams
- Eingangsstream: Dies ist eine Art Stream, bei dem die Bytes von einem Gerät wie einer Tastatur zum Hauptspeicher fließen.
- Ausgabestream: Dies ist eine Art Stream, bei dem die Bytes in die entgegengesetzte Richtung fließen, d. h. vom Hauptspeicher dann zum Gerät wie dem Bildschirm.
In diesem C++-Tutorial lernen Sie:
- Was sind Streams in C++?
- Wie funktionieren Streams?
- Funktionstabelle
- C++-Header-Dateien für Eingabe/Ausgabe
- std::cout
- std::cin
- std::cerr
- std::clog
- Fehlerbehandlung bei IO-Streams:
Wie funktionieren Streams?
C++-Streams funktionieren wie folgt:
- Zunächst wird ein Stream mit dem richtigen Typ initialisiert.
- Als nächstes sollten Sie angeben, wo die E/A stattfinden wird, indem Sie Get/Put-Zeiger verwenden.
- Nachdem Sie an der richtigen Stelle in einem Stream angekommen sind, können Sie Eingabe- und Ausgabeaufgaben mit den Operatoren>> bzw. <
Funktionstabelle
Die folgenden Funktionen werden in der Header-Datei stream.h bereitgestellt:
C++ Header-Dateien für Eingabe/Ausgabe
C++ stellt drei Bibliotheken bereit, die Funktionen zum Ausführen grundlegender Eingabe-/Ausgabeaufgaben enthalten. Dazu gehören:
- Iostream: Es ist ein Akronym für Standard Input/Output Stream. Diese Header-Datei enthält Definitionen für Objekte wie cin/cout/cerr.
- Iomanip: Es ist ein Akronym für Input/Output-Manipulatoren. Die Bibliothek enthält Funktionen, die zur Manipulation von Streams verwendet werden können. Es enthält Definitionen für Objekte wie setw, setprecision und andere.
- Fstream: Dies ist eine Header-Datei zur Beschreibung des Dateistroms. Es verarbeitet Daten, die als Eingabe aus einer Datei gelesen oder in eine Datei, die Ausgabe, geschrieben werden.
Die Schlüsselwörter cin und cout sind in C++ sehr beliebt. Sie werden zum Aufnehmen von Eingaben bzw. zum Drucken von Ausgaben verwendet. Um sie zu verwenden, müssen Sie die iostream-Header-Datei in Ihr Programm aufnehmen. Der Grund dafür ist, dass sie in dieser Header-Datei definiert sind. Wenn die iostream-Headerdatei nicht eingeschlossen wird, wird ein Fehler generiert. Dies resultiert aus einem Fehler des C++-Compilers, die Bedeutung der Schlüsselwörter zu verstehen.
Die in der iostream-Headerdatei definierten Hauptobjekte sind cin, cout, cerr und clog. Lassen Sie uns darüber sprechen.
std::cout
Das cout-Objekt ist eine Instanz der iostream-Klasse. Es wird verwendet, um eine Ausgabe auf einem Standardausgabegerät zu erzeugen, das normalerweise der Bildschirm ist. Er wird zusammen mit dem Stream-Einfügungsoperator (<<) verwendet.
Beispiel:
#include <iostream> using namespace std; int main() { char welcome[] = "Welcome to Guru99"; cout << welcome << endl; return 0; }
Ausgabe:
Hier ist ein Screenshot des Codes:
Code-Erklärung:
- Schließen Sie die iostream-Header-Datei ein, in der das cout-Objekt definiert ist.
- Fügen Sie den std-Namespace hinzu, damit wir ihn nicht aufrufen müssen, wenn wir seine Klassen verwenden.
- Rufen Sie die Funktion main() auf. Der Programmcode sollte in seinem Körper hinzugefügt werden. Die öffnende geschweifte Klammer { markiert den Anfang des Körpers.
- Erstellen Sie eine Zeichenvariable namens welcome, die die Zeichenkette Welcome to Guru99 enthält.
- Den Wert des Strings welcome auf der Konsole ausgeben. endl ist ein C++-Schlüsselwort und bedeutet Endzeile. Es bewegt den Cursor, um mit dem Drucken von Text in der nächsten Zeile zu beginnen.
- Das Programm muss bei erfolgreicher Ausführung einen Wert zurückgeben.
- Ende des Hauptteils der Funktion main().
std::cin
Das cin-Objekt ist eine Instanz der istream-Klasse. Es liest Eingaben vom Eingabegerät, der Tastatur. Er wird normalerweise zusammen mit dem Extraktionsoperator (>>) verwendet. Das Extraktionsobjekt ist für das Extrahieren von über die Tastatur eingegebenen Daten aus dem cin-Objekt verantwortlich.
Beispiel:
Das folgende Beispiel zeigt, wie das Schlüsselwort cin in C++ verwendet wird:
#include <iostream> using namespace std; int main() { int number; cout << "Enter a number:"; cin >> number; cout << "\nYou entered: " << number; return 0; }
Ausgabe:
Hier ist ein Screenshot des Codes:
Code-Erklärung:
- Fügen Sie die iostream-Header-Datei in unser Programm ein. Das cin-Objekt ist in dieser Header-Datei definiert.
- Schließen Sie den std-Namensraum ein, um seine Klassen zu verwenden. Sie müssen std nicht aufrufen, wenn Sie seine Klassen verwenden.
- Rufen Sie die Funktion main() auf. Der Programmcode sollte in seinem Körper hinzugefügt werden.
- Der Beginn des Hauptteils des Programms.
- Deklarieren Sie eine Integer-Variable namens Zahl.
- Drucken Sie eine Nachricht auf dem Bildschirm, die den Benutzer auffordert, eine Nummer einzugeben.
- Lesen Sie den vom Benutzer auf der Konsole eingegebenen Wert über die Tastatur.
- Drucken Sie den oben gelesenen Wert auf der Konsole zusammen mit anderem Text.
- Das Programm sollte einen Wert zurückgeben, wenn es erfolgreich ausgeführt wird.
- Ende des Hauptteils der Hauptfunktion.
std::cerr
Das cerr-Objekt bildet den Standardfehlerstrom für die Ausgabe von Fehlern in C++. Cerr ist eine Instanz der Klasse ostream. Das Cerr-Objekt ist ungepuffert. Das heißt, es kommt zum Einsatz, wenn eine Fehlermeldung sofort angezeigt werden soll.
Da es ungepuffert ist, speichert es keine Fehlermeldung für eine spätere Anzeige. Er wird zusammen mit dem Stream-Einfügungsoperator (<<) verwendet.
Beispiel:
#include <iostream> using namespace std; int main() { cerr << "An Error occurred!"; return 0; }
Ausgabe:
Hier ist ein Screenshot des Codes:
Code-Erklärung:
- Iostream-Header-Datei einschließen, in der das cerr-Objekt definiert wurde.
- Fügen Sie den std-Namespace hinzu, damit wir ihn nicht aufrufen müssen, wenn wir seine Klassen verwenden.
- Rufen Sie die Funktion main() auf. Die Programmlogik sollte in ihrem Körper hinzugefügt werden. Die öffnende geschweifte Klammer markiert den Beginn des Funktionskörpers.
- Verwenden Sie das cerr-Objekt, um einen Fehler auf der Konsole auszugeben.
- Das Programm muss bei erfolgreicher Ausführung einen Wert zurückgeben.
- Ende des Hauptteils der Hauptfunktion.
std::clog
Das Clog-Objekt ist eine Instanz der Klasse ostream. Es wird verwendet, um Fehler auf der Standardanzeige, dem Monitor, anzuzeigen. Es ähnelt dem cerr-Objekt, ist aber gepuffert. Da es gepuffert ist, speichert es die Fehlermeldung im Puffer, bis der Puffer gefüllt / geleert ist. Er wird zusammen mit dem Stream-Einfügungsoperator (<<) verwendet.
Beispiel:
#include <iostream> using namespace std; int main() { clog << "An Error occurred!"; return 0; }
Ausgabe:
Hier ist ein Screenshot des Codes:
Code-Erklärung:
- Einschließlich der iostream-Header-Datei, in der das Clog-Objekt definiert ist.
- Einschließen des std-Namensraums, damit wir seine Klassen verwenden können, ohne ihn aufzurufen.
- Aufruf der main()-Funktion. Die Programmlogik sollte in ihrem Körper hinzugefügt werden. Das { markiert den Anfang des Funktionskörpers.
- Verwenden Sie das Clog-Objekt, um einen Fehler auf der Standardausgabe, dem Monitor, auszugeben.
- Das Programm muss nach erfolgreichem Abschluss einen Wert zurückgeben.
- Das Ende des Hauptteils der Funktion main().
Fehlerbehandlung bei IO-Streams:
Um zu überprüfen, ob ein Stream gültig ist oder nicht, können Sie ihn als Boolean verwenden.
Hier ist ein Beispiel:
ifstream file( "myfile.txt" ); if ( ! file ) { cout << "File NOT opened!" << endl; }
Um weitere Details zum Stream-Status zu erhalten, können Sie diese Funktionen verwenden:
- good()- gibt true zurück, wenn alles in Ordnung ist.
- bad()- gibt true zurück, wenn ein schwerwiegender Fehler auftritt.
- fail()- gibt nach erfolgloser Stream-Operation true zurück.
- eof()- gibt wahr zurück, wenn es das Ende einer Datei erreicht.
Um zu wissen, ob ein bestimmter Lese-/Schreibvorgang fehlgeschlagen ist, testen Sie das Leseergebnis.
Um beispielsweise zu überprüfen, ob der Benutzer eine gültige Ganzzahl eingegeben hat, gehen Sie wie folgt vor:
int p; if ( cin >> p ) { cout << "Enter valid number" << endl; }
Zusammenfassung
- Die Eingabe- und Ausgabeaufgaben werden in C++ über eine Bytefolge erledigt. Die Bytes werden Streams genannt.
- In einem Eingabestrom fließen die Bytes vom Eingabegerät wie bei einer Tastatur zum Hauptspeicher.
- In einem Ausgabestrom werden die Bytes aus dem Hauptspeicher dann zu einem Ausgabegerät wie einem Monitor geleitet.
- Das cin-Objekt ist eine Instanz der istream-Klasse. Es liest Eingaben von einem Eingabegerät wie der Tastatur.
- Das cout-Objekt ist eine Instanz der ostream-Klasse. Es erzeugt eine Ausgabe auf Ausgabegeräten wie dem Monitor.
- Das cerr-Objekt ist eine Instanz der ostream-Klasse. Es zeigt Fehlerobjekte auf dem Monitor an.
- Das Clog-Objekt ist eine Instanz der Ostream-Klasse. Es zeigt Fehlermeldungen auf Ausgabegeräten an.
- Das clog-Objekt puffert Fehlermeldungen, das cerr-Objekt hingegen nicht.
C Sprache
- C# Grundlegende Ein- und Ausgabe
- C++ Basic Input/Output
- C Eingang Ausgang (E/A)
- Java Basic Input und Output
- C++ Switch Case-Anweisung mit BEISPIEL
- C++-Ausnahmebehandlung:Try, Catch, Throw Beispiel
- C++ Dynamische Zuordnung von Arrays mit Beispiel
- C++-Struktur mit Beispiel
- D Verriegelung
- C - Eingang und Ausgang