Die iostream-Header-Datei enthält Methoden zum Betreiben von Eingabe- und Ausgabestreams, z. B. zum Lesen einer Datei in einem Stream. Ihre Funktion besteht darin, Anfängern eine praktische Befehlszeilen-Eingabe- und Ausgabetestumgebung zu ermöglichen. iostream ist darauf ausgelegt, einen erweiterbaren typsicheren E/A-Mechanismus bereitzustellen.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, C++17-Version, Dell G3-Computer.
Die C++-Sprache verarbeitet Eingabe und Ausgabe nicht direkt, sondern verarbeitet E/A über eine Reihe von Typen, die in der Standardbibliothek definiert sind. Diese Typen unterstützen E/A-Vorgänge, die Daten vom Gerät lesen und auf das Gerät schreiben. Das Gerät kann eine Datei, ein Konsolenfenster usw. sein. Es gibt auch Typen, die Speicher-IO ermöglichen, also das Lesen von Daten aus Strings und das Schreiben von Daten in Strings.
Die Header-Datei
Objekte in der Header-Datei
(1), schmale Zeichen (char): cin(Standard-Eingabestream (Objekt)), cout(Standard-Ausgabestream (Objekt)), cerr(Standard-Ausgabestream für Fehler (Objekt)), clog(Standard-Ausgabestream für die Protokollierung (Objekt));
(2), breite Zeichen (wchar_t), d. h. breite Zeichen: wcin(Standard-Eingabestream (wide) (Objekt)), wcout(Standardausgabestream (breit) (Objekt)), wcerr(Standardausgabestream für Fehler (breit) (Objekt)), wclog(Standardausgabestream für Protokollierung (breit) (Objekt)).
__PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 istream cin, *_Ptr_cin; __PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 ostream cout, *_Ptr_cout; __PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 ostream cerr, *_Ptr_cerr; __PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 ostream clog, *_Ptr_clog; __PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 wistream wcin, *_Ptr_wcin; __PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 wostream wcout, *_Ptr_wcout; __PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 wostream wcerr, *_Ptr_wcerr; __PURE_APPDOMAIN_GLOBAL extern _CRTDATA2 wostream wclog, *_Ptr_wclog;
C++ IO-Köpfe, Vorlagen und Klasse ( https://www.ntu.edu.sg/home/ehchua/programming/cpp/cp10_IO.html ):
IO-Bibliothek:
(1), istream-Typ (Eingabestream), stellt Eingabeoperationen bereit;
(2), ostream-Typ (Ausgabestream), stellt Ausgabeoperationen bereit; cin, ein istream-Objekt, Standardeingabestream, wird zum Lesen aus der Standardeingabe verwendet Daten abrufen;
(4), cout, ein Ostream-Objekt, der Standardausgabestream, schreibt Daten aus der Standardausgabe, die Ausgabe kann in eine angegebene Datei umgeleitet werden; Die Daten werden in die Standardausgabe geschrieben, die normalerweise für die normale Ausgabe des Programms verwendet wird.
(5), cerr, ein Ostream-Objekt, Standardfehlerstrom, wird normalerweise zur Ausgabe von Programmfehlerinformationen oder anderen Ausgabeinhalten verwendet, die nicht zur normalen Logik gehören, und wird standardmäßig in den Standardfehler geschrieben ; Fehlerinformationen können direkt an die Anzeige gesendet werden, ohne auf einen Puffer oder einen neuen Zeilenumbruch warten zu müssen, und können über „2>“ in eine bestimmte Datei umgeleitet werden Das gehört nicht zur normalen Logik des Programms.
(6), clog: ein Ostream-Objekt, Standardfehlerstrom, der dem Standardfehler zugeordnet ist; cerr und clog sind beide Standardfehlerströme. Der Unterschied besteht darin, dass cerr Informationen direkt an die Anzeige ausgibt, ohne den Puffer zu durchlaufen , während clog Die Informationen in werden standardmäßig im Puffer gespeichert und nur ausgegeben, wenn der Puffer voll ist oder endl auftritt. Standardmäßig werden die in den Clog geschriebenen Daten gepuffert. Clog wird normalerweise verwendet, um Informationen zur Programmausführung zu melden und in einer Protokolldatei zu speichern.
(7), >>-Operator, wird verwendet, um Eingabedaten von einem istream-Objekt zu lesen;
(8), <<-Operator, wird verwendet, um Ausgabedaten in ein ostream-Objekt zu schreiben; Die getline-Funktion liest eine Datenzeile aus einem bestimmten istream und speichert sie in einem bestimmten Zeichenfolgenobjekt.
IO-Bibliothekstypen und Header-Dateien: iostream definiert die Grundtypen zum Lesen und Schreiben von Streams, fstream definiert die Typen zum Lesen und Schreiben benannter Dateien und sstream definiert die Typen zum Lesen und Schreiben von Speicherzeichenfolgenobjekten, wie unten gezeigt:
Um Sprachen zu unterstützen, die Breitzeichen verwenden, definiert die Standardbibliothek eine Reihe von Typen und Objekten zum Bearbeiten von Daten vom Typ wchar_t. Die Namen von Breitzeichenversionen von Typen und Funktionen beginnen mit einem w. Beispielsweise sind wcin, wcout und wcerr die Breitzeichenversionen von cin, cout bzw. cerr. Breitzeichenversionen von Typen und Objekten werden in derselben Headerdatei definiert wie ihre entsprechenden einfachen Zeichenversionstypen.
Der Testcode lautet wie folgt:
#include "iostream.hpp" #include <iostream> // reference: http://www.tutorialspoint.com/cplusplus/cpp_basic_input_output.htm int test_iostream_cout() { char str[] = "Hello C++"; std::cout << "Value of str is : " << str << std::endl; return 0; } int test_iostream_cin() { char name[50]; std::cout << "Please enter your name: "; std::cin >> name; std::cout << "Your name is: " << name << std::endl; return 0; } int test_iostream_clog() { char str[] = "Unable to read...."; std::clog << "Error message : " << str << std::endl; return 0; } int test_iostream_cerr() { char str[] = "Unable to read...."; std::cerr << "Error message : " << str << std::endl; return 0; } // reference: https://msdn.microsoft.com/en-us/library/6xwbdak2(v=vs.80).aspx static void TestWide() { int i = 0; std::wcout << L"Enter a number: "; std::wcin >> i; std::wcerr << L"test for wcerr" << std::endl; std::wclog << L"test for wclog" << std::endl; } int test_iostream_w() { int i = 0; std::cout << "Enter a number: "; std::cin >> i; std::cerr << "test for cerr" << std::endl; std::clog << "test for clog" << std::endl; TestWide(); return 0; }
Verwandte Empfehlungen:
C++-Video-TutorialDas obige ist der detaillierte Inhalt vonWelche Funktion hat die iostream-Headerdatei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!