將檔案的所有位元組讀入字元陣列
給定一個儲存在inputFile 字串中的檔案路徑和一個帶有預先定義大小,本問題探討如何將檔案的位元組讀入緩衝區。
一般檔案讀取的首選方法是利用 std::vector
用於位元組存取的ifstream::read()
要將檔案擷取為位元組流, ifstream::read() 被使用:
<code class="cpp">// Open file std::ifstream infile(inputFile); infile.seekg(0, std::ios::end); size_t length = infile.tellg(); infile.seekg(0, std::ios::beg); // Read file infile.read(buffer, length);</code>
理解Seekg() 和Tellg()
seekg() 和tellg() 用來決定檔案大小。但是,需要注意的是,tellg() 並不能保證所有情況下的確切檔案大小。
二進位模式的注意事項
開啟檔案時,請考慮使用std::ios_base::binary 啟用二進位模式,以防止可能影響位元組數的字元轉換。
處理緩衝讀取
如果使用多個緩衝讀取,使用 std::ifstream::gcount() 追蹤讀取的字元數至關重要。
以上是如何使用 ifstream::read() 將檔案的所有位元組讀入字元陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!