Heim >Backend-Entwicklung >C++ >Wie kann ich Zeilen und ganze Dateien in C effizient lesen?
Zeilen und Dateien in C lesen
Wie Sie in Ihrer Anfrage erwähnt haben, ist das Lesen von Dateien Zeile für Zeile oder in ihrer Gesamtheit effizienter als Wort für Wort verarbeiten, insbesondere bei großen Dateien. Hier finden Sie eine detaillierte Erklärung, wie Sie beide Szenarien erreichen:
Zeile für Zeile lesen:
Um eine Datei Zeile für Zeile zu lesen, können Sie std::getline verwenden Funktion. Hier ist ein Beispiel:
#include <fstream> #include <string> int main() { std::ifstream file("Read.txt"); std::string line; while (std::getline(file, line)) { // Process each line here } }
Dieses Code-Snippet öffnet die Datei mit dem Namen „Read.txt“ und liest jede im Zeilenstring gespeicherte Zeile. Anschließend können Sie die einzelnen Zeilen nach Bedarf verarbeiten.
Die gesamte Datei auf einmal lesen:
Um den gesamten Dateiinhalt auf einmal zu lesen, können Sie die Zeilen verketten eine einzelne Zeichenfolge. Hier ist eine modifizierte Version des vorherigen Codes:
std::ifstream file("Read.txt"); std::string line; std::string file_contents; while (std::getline(file, line)) { file_contents += line; file_contents.push_back('\n'); }
Dieser Code liest jede Zeile und hängt sie an die Zeichenfolge „file_contents“ an, einschließlich eines Zeilenumbruchzeichens, um die ursprünglichen Zeilenumbrüche beizubehalten. Die endgültige Dateiinhaltszeichenfolge enthält den gesamten Dateiinhalt.
Beachten Sie, dass es im Allgemeinen empfohlen wird, den ifstream-Konstruktor zu verwenden, um die Datei mit ihrem Dateinamen zu öffnen, anstatt die Methode open zu verwenden, und sich darauf zu verlassen, dass der Destruktor automatisch schließt die Datei.
Das obige ist der detaillierte Inhalt vonWie kann ich Zeilen und ganze Dateien in C effizient lesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!