首頁 >後端開發 >C++ >如何在 C 語言中有效地讀取行​​和整個文件?

如何在 C 語言中有效地讀取行​​和整個文件?

Linda Hamilton
Linda Hamilton原創
2024-12-01 17:50:10284瀏覽

How Can I Efficiently Read Lines and Entire Files in C  ?

在C 中讀取行和檔案

正如您在查詢中提到的,逐行或整個讀取檔案比逐字處理它們,特別是對於大文件。以下是如何實現這兩種情況的詳細說明:

逐行讀取:

要逐行讀取文件,您可以使用std::getline功能。以下是一個範例:

#include <fstream>
#include <string>

int main() 
{ 
    std::ifstream file("Read.txt");
    std::string line; 
    while (std::getline(file, line))
    {
        // Process each line here
    }
}

此程式碼片段開啟名為「Read.txt」的檔案並讀取儲存在行字串中的每一行。然後,您可以根據需要處理各個行。

一次讀取整個檔案:

要一次讀取整個檔案內容,您可以將各行連接到單一字串。以下是先前程式碼的修改版本:

std::ifstream file("Read.txt");
std::string line;
std::string file_contents;
while (std::getline(file, line))
{
  file_contents += line;
  file_contents.push_back('\n');
} 

此程式碼讀取每一行並將其附加到 file_contents 字串,包括一個換行符以保留原始換行符。最終的 file_contents 字串將包含整個檔案內容。

注意,一般建議使用 ifstream 建構函式以檔案名稱開啟文件,而不是使用 open 方法,並依賴析構函式自動關閉檔案。

以上是如何在 C 語言中有效地讀取行​​和整個文件?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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