0Pricing
C++ Academy · Leçon

Bien utiliser std::cin et std::cout

Gérez les entrées et les sorties avec les flux standard et évitez les pièges courants.

Bien utiliser std::cin et std::cout est une leçon C++ Academy gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C++ Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C++ Academy comprend 4 leçons au total.

L'en-tête iostream

std::cin et std::cout sont tous deux des objets de l'en-tête <iostream>. Ils représentent les flux standard d'entrée et de sortie de votre terminal.

Afficher avec std::cout

Envoyez des valeurs vers std::cout avec <<. Cela fonctionne pour tout type disposant d'une surcharge de operator<< — notamment tous les types intégrés et std::string.

int age = 30;
std::string name = "Ada";
std::cout << "Name: " << name << ", Age: " << age << "\n";

Lire avec std::cin

Lisez les valeurs avec std::cin >> variable. Les espaces séparent les jetons.

int age;
std::string name;
std::cout << "Enter name and age: ";
std::cin >> name >> age;
std::cout << name << " is " << age << "\n";

Ignorer les espaces

Par défaut, >> ignore les espaces en début de saisie (espaces, tabulations et sauts de ligne) avant la lecture. C'est généralement ce que vous souhaitez, mais soyez vigilant lors de la lecture de caractères individuels.

Lire une ligne entière

std::cin >> name ne lit qu'un seul mot. Pour lire une ligne contenant des espaces, utilisez std::getline.

std::string line;
std::getline(std::cin, line);
std::cout << "You said: " << line;

Mélanger >> et getline : une erreur courante

Après std::cin >> n, le saut de ligne reste dans le tampon. L'appel suivant à getline lit une chaîne vide. Effacez d'abord le saut de ligne.

int n;
std::cin >> n;
std::cin.ignore();  // consume the leftover newline
std::string line;
std::getline(std::cin, line);

État du flux

Les flux possèdent des indicateurs d'état : good, eof, fail et bad. Utilisez if (std::cin) pour vérifier que le flux est toujours utilisable après l'extraction.

Détecter EOF

La fin de fichier est signalée par Ctrl+D sous Unix ou Ctrl+Z sous Windows. Bouclez tant que le flux est valide pour traiter toute la saisie.

int n;
while (std::cin >> n) {
    std::cout << n * 2 << "\n";
}

E/S plus rapides pour le code de concours

Désactivez la synchronisation avec les E/S C pour accélérer les lectures en programmation de concours. Dissociez également cin de cout.

std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);

std::endl contre \n, encore une fois

std::endl écrit un saut de ligne et vide le tampon. "\n" écrit uniquement le saut de ligne. Utilisez "\n" dans les boucles pour conserver de bonnes performances.

Vider manuellement le tampon

Si vous devez vider le tampon sans écrire de saut de ligne, utilisez std::flush. C'est utile pour les indicateurs de progression.

for (int i = 0; i < 100; ++i) {
    std::cout << "\r" << i << "%" << std::flush;
    // ... work ...
}

Vérification rapide

Quelle est la différence entre std::endl et "\n" dans la sortie ?

Récapitulatif

Utilisez std::cout avec << pour afficher et std::cin avec >> pour lire des jetons. Pour lire des lignes entières, utilisez std::getline et effacez les sauts de ligne résiduels avec cin.ignore() après une saisie numérique.

Questions Fréquemment Posées

La leçon « Bien utiliser std::cin et std::cout » est-elle gratuite ?

Oui — le texte complet de « Bien utiliser std::cin et std::cout » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C++ Academy, passe à CoddyKit PRO. Le cours C++ Academy comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Bien utiliser std::cin et std::cout » ?

Gérez les entrées et les sorties avec les flux standard et évitez les pièges courants. Tu pratiques C++ Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer C++ Academy ?

Aucune expérience préalable n'est requise. C++ Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Bien utiliser std::cin et std::cout » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon C++ Academy ?

Oui. Chaque leçon C++ Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Bien utiliser std::cin et std::cout
  2. Formater la sortie avec iomanip
  3. Lire les entrées en toute sécurité avec getline
  4. Utiliser std::cerr et std::clog
← Retour à C++ Academy