在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>
程式碼使用輸入檔案流讀取名為「myfile.txt」的檔案的內容,並將它們儲存在名為「content」的字串變量中。用於將檔案內容指派給字串的表達式為:
<code class="cpp">std::string content( (std::istreambuf_iterator<char>(ifs) ), (std::istreambuf_iterator<char>() ) );</code>
此表達式利用迭代器從輸入檔案流中逐個字元讀取並建構字串。第一個迭代器使用輸入檔案流進行初始化,而第二個迭代器是預設構造的「end」迭代器,表示檔案結尾。
或者,您可以使用以下程式碼覆寫現有字串變數:
<code class="cpp">std::string content; content.assign( (std::istreambuf_iterator<char>(ifs) ), (std::istreambuf_iterator<char>() ) );</code>
此程式碼以檔案內容覆寫現有字串變數「content」的值。
以上是如何有效地將文件的全部內容讀取到 C 中的字串中?的詳細內容。更多資訊請關注PHP中文網其他相關文章!