Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk Melompat ke Baris Tertentu dalam Fail Teks Menggunakan C?

Bagaimana untuk Melompat ke Baris Tertentu dalam Fail Teks Menggunakan C?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-01 10:31:02916semak imbas

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

Menavigasi Baris Fail Teks dalam C

Apabila bekerja dengan fail teks menggunakan C , anda mungkin menghadapi keperluan untuk melompat ke baris tertentu. Walaupun tiada kaedah langsung yang disediakan oleh C untuk tujuan ini, anda boleh mencapainya dengan menggelung melalui fail sehingga anda mencapai baris yang diingini.

Menggelung ke Garis Tertentu

Penyelesaiannya melibatkan penggunaan gelung untuk mengira baris sehingga anda mencapai nombor baris sasaran. Teknik ini ditunjukkan dalam coretan kod di bawah:

<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>

Fungsi GotoLine menetapkan penuding carian bagi aliran fail ke permulaan baris nombor yang ditentukan.

Menguji Kod

Untuk menggambarkan teknik ini, pertimbangkan fail teks dengan kandungan berikut:

1
2
3
4
5
6
7
8
9
10

Atur cara ujian berikut menunjukkan cara untuk melompat ke baris 8 dan membaca kandungan:

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

    GotoLine(file, 8);

    string line8;
    file >> line8;

    cout << line8;
    cin.get();
    return 0;
}</code>

Output:

8

Dengan melaksanakan pendekatan gelung, anda boleh menavigasi dengan mudah ke mana-mana baris tertentu dalam fail teks dan mengakses kandungannya dalam C .

Atas ialah kandungan terperinci Bagaimana untuk Melompat ke Baris Tertentu dalam Fail Teks Menggunakan C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn