Heim  >  Artikel  >  Backend-Entwicklung  >  Welche Funktion hat die iostream-Headerdatei?

Welche Funktion hat die iostream-Headerdatei?

青灯夜游
青灯夜游Original
2021-03-25 15:45:4926915Durchsuche

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.

Welche Funktion hat die iostream-Headerdatei?

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 317e6b6395ab75e70e7f0880af8f6835 in C++/C++11 definiert das Standard-Eingabe-/Ausgabe-Stream-Objekt. Das Einschließen von 317e6b6395ab75e70e7f0880af8f6835 umfasst automatisch auch 68f3de17607fa85b1eb628686f64a195, acccb54a389e0baa0241b2d4d6abf2d2, b2183bd60bc8132bf9e2d0a9243f6275, ad3e299ade7c783006cf69c7370756a8 und c247aadae35403e5c039ed18c7357087.

Objekte in der Header-Datei 317e6b6395ab75e70e7f0880af8f6835 umfassen:

(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-Tutorial

Das 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn