Maison > développement back-end > C++ > le corps du texte

Comment lire des données depuis une entrée standard jusqu'à EOF en C ?

Susan Sarandon
Libérer: 2024-11-18 06:26:02
original
939 Les gens l'ont consulté

How to Read Data from Standard Input Until EOF in C  ?

Lecture des données de l'entrée standard jusqu'à la fin du fichier (EOF) en C

Lorsque vous travaillez avec une entrée utilisateur en C, il est souvent nécessaire pour lire les données de l'entrée standard (cin) jusqu'à ce que la fin du fichier (EOF) soit atteinte. Il existe certaines limitations et approches à prendre en compte lorsque vous tentez de lire jusqu'à EOF.

Une idée fausse courante est que l'utilisation de cin.get(input, ' ') pour lire des données jusqu'à EOF ou le caractère nul (' ') est rencontré peut atteindre le résultat souhaité. Cependant, ' ' ne représente pas EOF, et cette approche lira jusqu'à ce que EOF ou ' ' se produise, selon la première éventualité.

Pour lire les données de cin jusqu'à EOF, il est nécessaire d'utiliser une boucle. La fonction std::getline() fournit une méthode efficace à cet effet :

std::string line;
while (std::getline(std::cin, line))
{
    std::cout << line << std::endl;
}
Copier après la connexion

std::getline() lit l'entrée de cin et la stocke dans la variable de chaîne spécifiée, le délimiteur par défaut étant le caractère de nouvelle ligne. Il renvoie une valeur booléenne indiquant si une ligne a été lue avec succès. Lorsqu'EOF est rencontré, std::getline() renvoie false, provoquant la fin de la boucle.

Bien que cela puisse sembler une limitation d'exiger une boucle lors de la lecture jusqu'à EOF, il est important de se rappeler qu'en C , EOF n'est pas un personnage en soi. En tant que tel, il est impossible de faire simplement un seul appel à std::getline() pour lire toutes les données jusqu'à EOF.

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal