Maison >développement back-end >C++ >Ligne par ligne ou tout à la fois ? Quelle est la manière la plus efficace de lire un fichier en C ?

Ligne par ligne ou tout à la fois ? Quelle est la manière la plus efficace de lire un fichier en C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-23 22:42:10616parcourir

Line by Line or All at Once?  Which is the Most Efficient Way to Read a File in C  ?

Lecture efficace du contenu d'un fichier : ligne par ligne ou entièrement

Problème :

Lors de l'apprentissage des opérations sur les fichiers, vous pouvez rencontrez des scénarios où la lecture efficace d’un fichier texte est cruciale. Vous maîtrisez la lecture de mots individuellement, mais cherchez des conseils pour lire ligne par ligne ou récupérer l'intégralité du contenu du fichier en une seule fois.

Solution :

Pour lire une ligne de fichier par ligne, utilisez la fonction std::getline :

#include <fstream>
#include <string>

int main() {
    std::ifstream file("Read.txt");
    std::string str;
    
    while (std::getline(file, str)) {
        // Process line
    }
}

Alternativement, si vous préférez lire l'intégralité du fichier d'un coup, vous pouvez concaténer les lignes que vous récupérez :

std::ifstream file("Read.txt");
std::string str;
std::string file_contents;
    
while (std::getline(file, str)) {
    file_contents += str;
    file_contents.push_back('\n');
}  

Utilisation améliorée du flux de fichiers :

Au lieu d'ouvrir et de fermer manuellement le fichier, vous pouvez construire le flux de fichiers avec le fichier nom au sein de son constructeur :

std::ifstream file("Read.txt");

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
Article précédent:Où est le tutoriel en C ?Article suivant:Où est le tutoriel en C ?