Heim > Backend-Entwicklung > C++ > Hauptteil

Wie greife ich mit C direkt auf eine bestimmte Zeile in einer Textdatei zu?

Mary-Kate Olsen
Freigeben: 2024-11-06 07:13:02
Original
621 Leute haben es durchsucht

How to Directly Access a Specific Line in a Text File Using C  ?

Navigieren in Textdateien in C: Zu bestimmten Zeilen springen

Das Öffnen von Textdateien mit fstream ermöglicht den Zugriff auf den Inhalt der Datei. Manchmal ist es jedoch notwendig, eine bestimmte Zeile in der Datei zu überspringen oder darauf zuzugreifen.

Navigieren zu einer bestimmten Zeile

Um zu einer bestimmten Zeile zu gehen, z. B. Zeile 8, eine einfache Methode besteht darin, einen schleifenbasierten Ansatz zu verwenden:

<code class="cpp">#include <fstream>
#include <limits>

std::fstream& GotoLine(std::fstream& file, unsigned int num) {
    file.seekg(std::ios::beg);
    for (int i = 0; i < num - 1; ++i) {
        file.ignore(std::numeric_limits<std::streamsize>::max(), '\n');
    }
    return file;
}</code>
Nach dem Login kopieren

Diese Funktion verwendet einen Dateistream und eine Zeilennummer als Parameter. Es setzt den Suchzeiger der Datei auf den Anfang der angegebenen Zeile.

Den Code verstehen

  1. file.seekg(std::ios:: beg);: Setzt den Suchzeiger auf den Anfang der Datei.
  2. for (int i = 0; i < num - 1; i){: Durchläuft jede Zeile bis zur gewünschten Zeilennummer.
  3. file.ignore(std::numeric_limits::max(), 'n');: Verbraucht und verwirft Zeichen, bis eine neue Zeile gefunden wird oder der Stream endet.
  4. Nach Abschluss der Schleife wird der Suchzeiger am Anfang der angegebenen Zeile positioniert.

Beispielverwendung

Um diesen Ansatz zu testen, betrachten Sie a Textdatei mit folgendem Inhalt:

1
2
3
4
5
6
7
8
9
10
Nach dem Login kopieren

Das folgende Programm zeigt, wie man zu Zeile 8 gelangt:

<code class="cpp">int main() {
    using namespace std;
    fstream file("bla.txt");

    GotoLine(file, 8);

    string line8;
    file >> line8;

    cout << line8;  // Output: 8
    cin.get();
    return 0;
}</code>
Nach dem Login kopieren

Mit dieser Methode können Sie ganz einfach zu einer bestimmten Zeile navigieren eine Textdatei. Dieser Ansatz ist besonders nützlich, wenn es um große Dateien geht oder wenn auf bestimmte Informationen zugegriffen werden muss, ohne die gesamte Datei zu analysieren.

Das obige ist der detaillierte Inhalt vonWie greife ich mit C direkt auf eine bestimmte Zeile in einer Textdatei zu?. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!