首頁 >後端開發 >C++ >如何在 C 中高效地將整個文件內容讀取到字串中?

如何在 C 中高效地將整個文件內容讀取到字串中?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-11-01 15:14:02670瀏覽

How to Efficiently Read Entire File Contents into a String in C  ?

在C 中將檔案內容合併為字串:綜合指南

使用Perl 等腳本語言將檔案內容讀入字串這是一個簡單的問題。然而,用 C 語言實現這一點需要更有效的方法。讓我們探索完成此任務的最有效方法。

像這樣:

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

int main(int argc, char** argv)
{
  std::ifstream ifs("myfile.txt");
  std::string content( (std::istreambuf_iterator<char>(ifs) ),
                       (std::istreambuf_iterator<char>()    ) );

  return 0;
}</code>

這段程式碼中的關鍵語句是:

<code class="cpp">std::string content( (std::istreambuf_iterator<char>(ifs) ),
                       (std::istreambuf_iterator<char>()    ) );</code>

分解:

<code class="cpp">std::string content;
content.assign( (std::istreambuf_iterator<char>(ifs) ),
                (std::istreambuf_iterator<char>()    ) );</code>

這裡沒有使用簡單的賦值運算子(content =),而是使用了allocate 方法。在更新現有 std::string 變數的內容時,此技術特別有用。

透過執行以下步驟,您可以有效地將檔案的全部內容讀取到 C 中的 std::string 中。這種整合方法簡化了涉及文件處理的操作,允許對儲存在其中的資料進行全面操作。

以上是如何在 C 中高效地將整個文件內容讀取到字串中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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