Rumah > pembangunan bahagian belakang > C++ > Bolehkah Anda Langsung Melompat ke Baris Tertentu dalam Fail Teks Menggunakan C fstream?

Bolehkah Anda Langsung Melompat ke Baris Tertentu dalam Fail Teks Menggunakan C fstream?

Patricia Arquette
Lepaskan: 2024-11-01 12:58:29
asal
839 orang telah melayarinya

Can You Directly Jump to a Specific Line in a Text File Using C   fstream?

Mencari Baris Khusus dalam Fail Teks dengan C

Dengan pustaka fstream dalam C , ia menjadi mudah untuk membaca dan menulis ke fail teks . Walau bagaimanapun, menavigasi terus ke baris tertentu boleh menjadi mencabar. Soalan ini meneroka kemungkinan penyelesaian untuk masalah ini.

Masalah:

Jika fail teks dibuka menggunakan fstream, adakah terdapat cara mudah untuk melompat ke baris tertentu , seperti baris 8?

Jawapan:

Walaupun fstream menyediakan cara untuk menetapkan penunjuk carian fail, ia secara langsung tidak membenarkan melompat ke baris tertentu . Pendekatan praktikal adalah untuk menggelung melalui fail, mengabaikan semua baris sehingga baris yang dikehendaki dicapai. Begini caranya ia boleh dicapai:

<code class="cpp">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>
Salin selepas log masuk

Fungsi ini mengambil fail dan nombor baris yang sepatutnya dicari dan mengembalikan objek fail.

Contoh:

Pertimbangkan fail teks dengan kandungan berikut:

1
2
3
4
5
6
7
8
9
10
Salin selepas log masuk

Program C berikut menunjukkan cara menggunakan fungsi GotoLine:

<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>
Salin selepas log masuk

Output:

8

Dalam contoh ini, atur cara membaca baris kelapan fail teks dan mencetak kandungannya, iaitu "8".

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

Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan