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

Comment les programmes C peuvent-ils récupérer efficacement les entrées de l'utilisateur jusqu'à la fin du fichier (EOF) ?

DDD
Libérer: 2024-11-18 05:16:02
original
615 Les gens l'ont consulté

How Can C   Programs Efficiently Retrieve User Input Until End-of-File (EOF)?

Récupération des entrées jusqu'à la fin du fichier (EOF) à l'aide de C

De nombreux programmes nécessitent la possibilité de lire un flux continu de données à partir de l'utilisateur jusqu'à ce qu'il ait fini de le saisir. En C , cela peut être réalisé par diverses méthodes.

Considérant la méthode cin.get()

Initialement, la fonction cin.get() a été considérée, ce qui permet lecture jusqu'à ce qu'un caractère spécifié soit rencontré. Cependant, utiliser « » comme caractère cible n'est peut-être pas idéal car cela peut mettre fin prématurément à la saisie avant d'atteindre EOF.

Approche en boucle : la méthode préférée

L'approche recommandée consiste à utiliser des boucles pour lire les entrées de manière incrémentielle. Un moyen efficace de le faire consiste à utiliser la fonction std::getline() :

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

Ici, getline() lit les chaînes jusqu'à rencontrer un caractère de nouvelle ligne par défaut. Il peut également être personnalisé pour lire jusqu'à un caractère spécifique, mais EOF lui-même n'est pas un caractère valide à cette fin.

Cette approche itérative permet au programme de lire en continu les lignes d'entrée de l'utilisateur jusqu'à ce qu'il indique qu'il a fini. Il est à la fois fiable et efficace pour gérer des scénarios d'entrée de longueur variable.

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