Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Industrial programming >> Langue C

Maîtriser les flux C++ : cout, cin, cerr, clog – Guide pratique

Que sont les flux en C++ ?

C++ abstrait l'entrée et la sortie à travers une famille de classes de flux qui transfèrent les données comme des séquences d'octets. Ces flux sont l'épine dorsale de chaque opération d'E/S dans le langage.

Les flux se divisent en deux catégories :

Types de flux

Ce tutoriel couvrira :

Comment fonctionnent les flux

Le flux typique d'une opération de flux C++ est :

  1. Instancier un objet de flux du type approprié.
  2. Associer le flux à un périphérique ou fichier en utilisant les pointeurs get/put.
  3. Effectuer les E/S via les opérateurs d'extraction (>>) ou d'insertion (<<).

Vue d'ensemble des fonctions de flux

L'en-tête streambuf fournit plusieurs classes qui gèrent les tampons de fichiers :

ClasseDescription
filebufGère les tampons de fichiers pour lecture/écriture. Fournit open() et close().
fstreambaseBase pour ifstream, fstream, ofstream – opérations communes de flux de fichiers.
ifstreamFlux de fichier d'entrée pour lire des données.
ofstreamFlux de fichier de sortie pour écrire des données.
fstreamFlux combiné entrée/sortie.

Fichiers d'en-tête C++ pour les E/S

Tous ces objets sont définis dans iostream ; omettre l'en-tête déclenche une erreur de compilation.

std::cout

L'objet cout écrit sur le flux de sortie standard, généralement la console. Il est utilisé avec l'opérateur d'insertion (<<).

Exemple

#include <iostream>
using namespace std;
int main() {
    char welcome[] = "Welcome to Guru99";
    cout << welcome << endl;
    return 0;
}

Sortie :

Maîtriser les flux C++ : cout, cin, cerr, clog – Guide pratique

Parcours du code :

  1. Inclure iostream pour accéder à cout.
  2. Utiliser l'espace de noms std pour éviter les préfixes.
  3. Définir un tableau de caractères contenant le message.
  4. Afficher le message avec endl pour insérer une nouvelle ligne.
  5. Retourner 0 pour indiquer le succès.

std::cin

L'objet cin lit depuis le flux d'entrée standard, généralement le clavier. Il s'associe à l'opérateur d'extraction (>>).

Exemple

#include <iostream>
using namespace std;
int main() {
    int number;
    cout << "Enter a number:";
    cin >> number;
    cout << "\nYou entered: " << number;
    return 0;
}

Sortie :

Maîtriser les flux C++ : cout, cin, cerr, clog – Guide pratique

Explication du code :

  1. Inclure iostream pour cin et cout.
  2. Utiliser l'espace de noms std.
  3. Déclarer une variable entière.
  4. Inviter l'utilisateur.
  5. Lire l'entrée avec >>.
  6. Réafficher la valeur entrée.
  7. Retourner 0 en cas de succès.

std::cerr

Le flux cerr affiche les messages d'erreur immédiatement car il n'est pas tamponné. Utilisez-le pour les erreurs critiques qui doivent être affichées à l'instant.

Exemple

#include <iostream>
using namespace std;
int main() {
    cerr << "An Error occurred!";
    return 0;
}

Sortie :

Maîtriser les flux C++ : cout, cin, cerr, clog – Guide pratique

Explication :

  1. Inclure iostream pour cerr.
  2. Utiliser l'espace de noms std.
  3. Afficher un message d'erreur immédiatement.
  4. Retourner 0.

std::clog

Contrairement à cerr, clog est tamponné, stockant les messages jusqu'à ce que le tampon soit vidé. Il est utile pour la journalisation qui peut être différée.

Exemple

#include <iostream>
using namespace std;
int main() {
    clog << "An Error occurred!";
    return 0;
}

Sortie :

Maîtriser les flux C++ : cout, cin, cerr, clog – Guide pratique

Explication :

  1. Inclure iostream pour clog.
  2. Utiliser l'espace de noms std.
  3. Écrire un message d'erreur tamponné.
  4. Retourner 0.

Gestion d'erreurs avec les objets de flux

Les flux peuvent être évalués dans un contexte booléen pour vérifier leur validité. De plus, les fonctions membres fournissent des vérifications d'état granulaires :

Exemple – vérification d'ouverture de fichier :

ifstream file("myfile.txt");
if (!file) {
    cout << "File NOT opened!" << endl;
}

Exemple – validation de saisie utilisateur :

int p;
if (cin >> p) {
    cout << "Enter valid number" << endl;
}

Résumé

Langue C

  1. Fondamentaux C# : Entrées et sorties essentielles
  2. Maîtriser l'entrée/sortie en C++ : Guide pratique
  3. Maîtriser l'entrée/sortie en C : scanf() et printf() expliqués
  4. Maîtriser l'entrée/sortie Java : Afficher, lire et formater vos données
  5. Maîtriser le switch-case en C++ : Syntaxe, utilisation et exemples pratiques
  6. Maîtriser la gestion d'exceptions en C++ : Exemples pratiques try, catch, throw
  7. Maîtriser l'allocation de tableaux dynamiques en C++ : Guide pratique avec exemples de code
  8. Les structures en C++ expliquées avec un exemple pratique
  9. Maîtriser les verrous D : Conception, Fonctionnement et Différences Clés