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
Libérer: 2024-11-23 22:42:10
original
622 Les gens l'ont consulté

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
    }
}
Copier après la connexion

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');
}  
Copier après la connexion

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");
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal