Heim >Backend-Entwicklung >C++ >Zeile für Zeile oder alles auf einmal? Welches ist der effizienteste Weg, eine Datei in C zu lesen?
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!