Maison > développement back-end > C++ > `std::cin vs std::cin.getline() : quand utiliser chacun pour l'entrée C ?`

`std::cin vs std::cin.getline() : quand utiliser chacun pour l'entrée C ?`

Susan Sarandon
Libérer: 2024-12-01 06:23:11
original
491 Les gens l'ont consulté

`std::cin vs. std::cin.getline(): When to Use Each for C   Input?`

Les différences entre std::cin.getline() et std::cin

Lorsque vous travaillez avec des entrées et des sorties en C, c'est important de comprendre les distinctions entre std::cin et std::cin.getline() fonctions.

std::cin : entrée pour des mots et des nombres uniques

std::cin est un flux d'entrée qui peut être utilisé pour lire un seul mot ou un seul nombre à partir du périphérique d'entrée standard (généralement le clavier).

std::cin.getline() : entrée pour l'intégralité Lignes

En revanche, std::cin.getline() est une méthode qui peut être utilisée pour lire une ligne entière de caractères à partir du flux d'entrée. Cela inclut tous les espaces, signes de ponctuation ou caractères de nouvelle ligne jusqu'à la fin de la ligne (représentés par un « n »).

Différences clés :

  1. Limite de caractères : std::cin ne lira qu'un seul mot ou chiffre, tandis que std::cin.getline() peut lire plusieurs caractères, y compris une ligne entière.
  2. Caractère de nouvelle ligne : std::cin arrête la lecture au premier caractère de nouvelle ligne, alors que std::cin.getline() inclut la nouvelle ligne dans la chaîne.
  3. Buffer : std::cin fonctionne sur un tampon, donc tous les caractères saisis avant de l'appeler seront stockés. std::cin.getline(), cependant, lit directement à partir du flux d'entrée, en ignorant les caractères pré-stockés.

Exemples d'utilisation :

// Read a single word from the input
std::string word;
std::cin >> word;

// Read an entire line from the input
std::string line;
std::getline(std::cin, line);
Copier après la connexion

Conclusion :

Selon le scénario, soit std::cin ou std::cin.getline() peut être approprié. Si vous avez besoin de lire un seul mot ou un seul chiffre, std::cin est plus efficace. Cependant, si vous devez capturer une ligne entière d'entrée, y compris les espaces et les nouvelles lignes, std::cin.getline() est le choix préféré.

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!

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