Maison > Article > développement back-end > Comment les programmes C peuvent-ils récupérer efficacement les entrées de l'utilisateur jusqu'à la fin du fichier (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; }
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!