Lire les données de l'entrée standard jusqu'à la fin de fichier en C
Lorsque vous travaillez avec les données directement à partir de l'entrée utilisateur en C, il est souvent souhaitable de lire toutes les données jusqu'à ce que la fin de fichier (EOF) soit atteinte. La fonction CIN.get () permet de lire les données jusqu'à ce qu'un caractère spécifié soit rencontré. Cependant, l'utilisation de '\ 0' comme caractère de terminaison peut ne pas être optimale car elle ne représente pas vraiment EOF.
en utilisant des boucles pour l'extraction de données
la solution la plus efficace pour la lecture des données jusqu'à ce que l'EOF implique l'utilisation de boucles. La fonction std :: getline () convient particulièrement à cet effet. Par défaut, getLine () lit les données jusqu'à ce qu'un caractère Newline soit rencontré. Cependant, un caractère alternatif de terminaison peut être spécifié:
std::string line; while (std::getline(std::cin, line)) { std::coutDans cet exemple, getLine () lit chaque ligne de données jusqu'à ce que la fin de fichier soit atteinte. La boucle se termine lorsque getLine () ne parvient pas à lire plus de données, indiquant que EOF a été rencontré. Par exemple, vous pouvez initialiser une variable sur une valeur spécifique et lire les données jusqu'à ce que cette valeur soit rencontrée:
const std :: string eof_marker = "eof"; std :: string line; while (getline (std :: cin, ligne)) { if (line == eof_marker) casser; std :: cout Cette approche vous permet de définir votre propre indicateur de fin de fichier, offrant une plus grande flexibilité dans votre traitement des données.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3