Quelle est la fonction du fichier d'en-tête iostream

青灯夜游
Libérer: 2023-01-03 09:31:18
original
26910 Les gens l'ont consulté

Le fichier d'en-tête iostream contient des méthodes pour faire fonctionner les flux d'entrée et de sortie, telles que la lecture d'un fichier dans un flux ; sa fonction est de permettre aux débutants de disposer d'un environnement de test d'entrée et de sortie en ligne de commande pratique. iostream est conçu pour fournir un mécanisme d'E/S extensible de type sécurisé.

Quelle est la fonction du fichier d'en-tête iostream

L'environnement d'exploitation de ce tutoriel : système Windows 7, version C++17, ordinateur Dell G3.

Le langage C++ ne gère pas directement les entrées et les sorties, mais gère les E/S via un ensemble de types définis dans la bibliothèque standard. Ces types prennent en charge les opérations d'E/S qui lisent et écrivent des données sur le périphérique. Le périphérique peut être un fichier, une fenêtre de console, etc. Il existe également des types qui autorisent les E/S mémoire, c'est-à-dire la lecture de données à partir de chaînes et l'écriture de données dans des chaînes.

Le fichier d'en-tête en C++/C++11 définit l'objet de flux d'entrée/sortie standard. L'inclusion de inclut également automatiquement , , , et .

Les objets du fichier d'en-tête incluent :

(1), caractères étroits (char) : cin (flux d'entrée standard (objet)), cout (flux de sortie standard (objet )), cerr (flux de sortie standard pour les erreurs (objet)), clog (flux de sortie standard pour la journalisation (objet)) ;

(2), caractères larges (wchar_t), c'est-à-dire caractères larges : wcin (flux d'entrée standard (large) (objet)), wcout (flux de sortie standard (large) (objet)), wcerr (flux de sortie standard pour les erreurs (large) (objet)), wclog (flux de sortie standard pour la journalisation (large) (objet)).

__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;
Copier après la connexion

Têtes, modèles et classe IO C++ ( https://www.ntu.edu.sg/home/ehchua/programming/cpp/cp10_IO.html ):

Bibliothèque IO :

(1), type istream (flux d'entrée), fournit des opérations d'entrée ;

(2), type ostream (flux de sortie), fournit des opérations de sortie ;

(3), cin, un objet istream, le flux d'entrée standard, utilisé pour lire les données de l'entrée standard

(4), cout, un objet ostream, le flux de sortie standard ; , à partir de la sortie standard, écrit les données et la sortie peut être redirigée (« > » ou « 1> ») vers un fichier spécifié utilisé pour écrire des données sur la sortie standard, généralement utilisée pour le contenu de sortie normal du programme.

(5), cerr, un objet ostream, flux d'erreur standard, généralement utilisé pour générer des informations d'erreur de programme ou tout autre contenu de sortie qui n'appartient pas à la logique normale, écrit dans l'erreur standard, par défaut, écrit dans The les données de cerr ne sont pas mises en mémoire tampon ; les informations d'erreur peuvent être envoyées directement à l'écran sans attendre le tampon ou un nouveau caractère de nouvelle ligne avant d'être affichées ; la sortie peut être redirigée vers le fichier spécifié via la méthode "2>" utilisé Pour afficher des messages d'erreur ou tout autre contenu de sortie qui n'appartient pas à la logique normale du programme.

(6), clog : un objet ostream, flux d'erreur standard, associé à l'erreur standard ; différence avec cerr : cerr et clog sont tous deux des flux d'erreur standard, la différence est que cerr ne passe pas par le tampon et sort directement les informations du moniteur, et les informations dans le sabot seront stockées dans le tampon par défaut et ne seront sorties que lorsque le tampon est plein ou que endl est rencontré par défaut, les données écrites dans le sabot sont mises en mémoire tampon. Clog est généralement utilisé pour signaler les informations d'exécution du programme et les stocker dans un fichier journal.

(7), opérateur >>, utilisé pour lire les données d'entrée d'un objet istream ;

(8), opérateur << object L'objet écrit les données de sortie ;

(9), fonction getline, lit une ligne de données à partir d'un istream donné et la stocke dans un objet chaîne donné.

Types de bibliothèque IO et fichiers d'en-tête : iostream définit les types de base pour la lecture et l'écriture des flux, fstream définit les types pour la lecture et l'écriture des fichiers nommés, et sstream définit les types pour la lecture et l'écriture des objets de chaîne mémoire, comme indiqué ci-dessous :

Pour prendre en charge les langages qui utilisent des caractères larges, la bibliothèque standard définit un ensemble de types et d'objets pour manipuler les données de type wchar_t. Les noms des versions à caractères larges des types et des fonctions commencent par un w. Par exemple, wcin, wcout et wcerr sont respectivement les versions à caractères larges de cin, cout et cerr. Les versions en caractères larges des types et des objets sont définies dans le même fichier d'en-tête que leurs types de versions en caractères simples correspondants.

Le code du test est le suivant :

#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;
}
Copier après la connexion

Recommandations associées : Tutoriel vidéo C++

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal