首頁 >後端開發 >C++ >如何使用 C 直接存取文字檔案中的特定行?

如何使用 C 直接存取文字檔案中的特定行?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-06 07:13:02696瀏覽

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

在 C 語言中導航文字檔案:跳到特定行

使用 fstream 開啟文字檔案可以存取檔案的內容。但是,有時需要跳過或存取文件中的特定行。

導航到特定行

轉到特定行,例如行8、一個簡單的方法是利用基於循環的方法:

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

函數採用文件流和行號作為參數。它將文件的查找指標設定為指定行的開頭。

理解程式碼

  1. file.seekg(std::ios:: beg);: 將尋找指標設定到檔案的開頭。
  2. for (int i = 0; i
  3. file.ignore(std::numeric_limits<:streamsize>::max(), 'n');:消耗並丟棄字符,直到找到換行符或流結束。
  4. 完成循環後,尋找指標位於指定行的開頭。

範例用法

要測試此方法,請考慮包含以下內容的文字檔案:

1
2
3
4
5
6
7
8
9
10

以下程式示範了如何轉到第8 行:

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

透過使用此方法,您可以輕鬆導航到中的特定行一個文字檔案。這種方法在處理大文件或需要存取特定資訊而不解析整個文件時特別有用。

以上是如何使用 C 直接存取文字檔案中的特定行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn