Heim >Backend-Entwicklung >C++ >Zeile für Zeile oder alles auf einmal? Welches ist der effizienteste Weg, eine Datei in C zu lesen?

Zeile für Zeile oder alles auf einmal? Welches ist der effizienteste Weg, eine Datei in C zu lesen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-23 22:42:10568Durchsuche

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

Dateiinhalte effizient lesen: Zeile für Zeile oder vollständig

Problem:

Während Sie etwas über Dateioperationen lernen, können Sie möglicherweise Es gibt Situationen, in denen das effiziente Lesen einer Textdatei von entscheidender Bedeutung ist. Sie beherrschen das einzelne Lesen von Wörtern, suchen aber nach Anleitung, wie Sie Zeile für Zeile lesen oder den gesamten Dateiinhalt auf einmal abrufen können.

Lösung:

So lesen Sie eine Dateizeile zeilenweise verwenden Sie die Funktion std::getline:

#include <fstream>
#include <string>

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

Alternativ können Sie dies auch tun, wenn Sie lieber die gesamte Datei auf einmal lesen möchten Verketten Sie die abgerufenen Zeilen:

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');
}  

Erweiterte Dateistream-Nutzung:

Anstatt die Datei manuell zu öffnen und zu schließen, können Sie den Dateistream mit der Datei erstellen Name innerhalb seines Konstruktors:

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

Das obige ist der detaillierte Inhalt vonZeile für Zeile oder alles auf einmal? Welches ist der effizienteste Weg, eine Datei in C zu lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Wo ist das Tutorial zu C?Nächster Artikel:Wo ist das Tutorial zu C?