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
Freigeben: 2024-11-23 22:42:10
Original
636 Leute haben es durchsucht

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
    }
}
Nach dem Login kopieren

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');
}  
Nach dem Login kopieren

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");
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage