„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie springe ich mit C++ zu einer bestimmten Zeile in einer Textdatei?

Wie springe ich mit C++ zu einer bestimmten Zeile in einer Textdatei?

Veröffentlicht am 11.11.2024
Durchsuche:393

How to Jump to a Specific Line in a Text File Using C  ?

Navigieren in Textdateizeilen in C

Wenn Sie mit Textdateien in C arbeiten, müssen Sie möglicherweise zu einer bestimmten Zeile springen. Obwohl C für diesen Zweck keine direkte Methode bereitstellt, können Sie dies erreichen, indem Sie die Datei durchlaufen, bis Sie die gewünschte Zeile erreichen.

Schleife zu einer bestimmten Zeile

Die Lösung besteht darin, eine Schleife zu verwenden, um Zeilen zu zählen, bis Sie die Zielzeilennummer erreichen. Diese Technik wird im folgenden Codeausschnitt demonstriert:

#include 
#include 

std::fstream& GotoLine(std::fstream& file, unsigned int num){
    file.seekg(std::ios::beg);
    for(int i=0; i ::max(),'\n');
    }
    return file;
}

Die GotoLine-Funktion setzt den Suchzeiger des Dateistreams auf den Anfang der angegebenen Num-Zeile.

Testen des Codes

Zur Veranschaulichung Betrachten Sie bei dieser Technik eine Textdatei mit folgendem Inhalt:

1
2
3
4
5
6
7
8
9
10

Das folgende Testprogramm zeigt, wie man zu Zeile 8 springt und den Inhalt liest:

int main(){
    using namespace std;
    fstream file("bla.txt");

    GotoLine(file, 8);

    string line8;
    file >> line8;

    cout 

Ausgabe:

8

Durch die Implementierung des Schleifenansatzes können Sie einfach zu einer bestimmten Zeile in einer Textdatei navigieren und auf deren Inhalt in C zugreifen.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3