Maison  >  Article  >  développement back-end  >  Comment puis-je lire des données de cin jusqu'à EOF en C sans boucles explicites ?

Comment puis-je lire des données de cin jusqu'à EOF en C sans boucles explicites ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-18 04:18:03548parcourir

How Can I Read Data from cin Until EOF in C   Without Explicit Loops?

Lecture des données de Cin jusqu'à EOF en C sans boucles

Recherche d'une méthode efficace pour lire les données de l'entrée utilisateur jusqu'à la fin du fichier ( EOF) est une tâche courante en programmation C. Cependant, parcourir des données sans utiliser de boucles présente ses défis.

Une approche potentielle consiste à utiliser cin.get( input, ' ' ). Cependant, cette méthode n'est peut-être pas idéale car elle termine la lecture à la première occurrence de l'EOF ou du caractère nul (' '), selon la première éventualité.

Pour une approche complète et fiable, l'utilisation de boucles est recommandé. La fonction std::getline() offre une solution pratique :

std::string line;
while (std::getline(std::cin, line))
{
    std::cout << line << std::endl;
}

La fonction getline() lit l'entrée ligne par ligne, se terminant par des nouvelles lignes par défaut. Vous pouvez spécifier des caractères de fin alternatifs, mais cibler directement EOF n'est pas réalisable car il ne représente pas un caractère lui-même.

En utilisant la boucle et getline() en tandem, vous pouvez lire efficacement les données de l'entrée standard jusqu'à EOF. est rencontré. Cette approche fournit un mécanisme simple et fiable pour traiter des quantités arbitraires de données sans avoir besoin d'une logique supplémentaire pour vérifier l'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!

Déclaration:
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