如何用C 語言讀取檔案內容作為字元陣列
背景
這個問題🎜>背景
這個問題🎜>背景
這個問題詢問如何使用名為inputFile 的檔案的位元組填入字元數組緩衝區。使用者在使用其他建議的使用 getline() 而不是 ifstream::read() 的方法時遇到了困難。
解
有幾種方法可以解決此問題任務:
讀取資料:
呼叫read()將檔案內容讀入緩衝區,確保緩衝區大小足夠。<code class="cpp">// Open file in binary mode std::ifstream infile("C:\MyFile.csv", std::ios_base::binary); // Get file length infile.seekg(0, std::ios::end); size_t length = infile.tellg(); infile.seekg(0, std::ios::beg); // Read file infile.read(buffer, length);</code>
示例代碼:
將向量複製到陣列:
使用 std::copy 將向量資料分配到緩衝區。<code class="cpp">// Create iterators std::istreambuf_iterator<char> begin(infile); std::istreambuf_iterator<char> end; // Create vector std::vector<char> contents(begin, end); // Copy vector to array std::copy(contents.begin(), contents.end(), buffer);</code>
範例程式碼:
以上是如何使用 ifstream::read() 和 istreambuf_iterator 在 C 中以字元數組形式讀取檔案內容?的詳細內容。更多資訊請關注PHP中文網其他相關文章!