Maison >développement back-end >C++ >Comment empêcher les lectures de dernière ligne dupliquées lors de l'atteinte d'EOF dans une boucle de fichier C ?
Correction de la lecture de la dernière ligne dupliquée dans la boucle EOF
Le problème d'origine survient lors de la lecture d'un fichier texte jusqu'à la fin du fichier (EOF ) est atteint. Le code C fourni récupère à plusieurs reprises la dernière ligne deux fois en raison du traitement retardé de l'indication EOF.
Pour rectifier cela, suivez la chaîne d'événements :
Pour résoudre ce problème, les modifications suivantes peuvent être apportées au code :
while (true) { int x; iFile >> x; if (iFile.eof()) break; cerr << x << endl; }
Dans ce code révisé, la boucle continue jusqu'à ce que la fin du fichier soit atteinte , garantissant que la dernière ligne n'est lue qu'une seule fois. Il gère également le cas d'un fichier vide avec élégance.
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!