我的實現:
#include
#include
using
namespace
std;
int main()
size = in.tellg();
size = size -4;//我需要跳過4個位元組,個人需要。
buffer.resize(size);
in.seekg (4, ios::beg); //jump to begin pos + 偏移量
in.read (reinterpret_cast
(&buffer[0]),buffer.size()); //注意,我採用的是&buffer[0],知乎上有人採用buffer.data(),這是c++ 11才有的特性
in.close();
for(int i=0;i<10;i++)
總結:
in.read (reinterpret_cast(&buffer[0]),buffer.size())
我採用的是&buffer[0],知乎上有人採用buffer.data(),這是c++ 11才有的特性,參見
二進位制檔案
本質上是文字檔案是把檔案資訊先轉化成以字元編碼的ascii碼,再儲存ascii的二進位制 而二進位制檔案是直接把檔案資訊編碼成二進位制儲存。因此在讀取的時候要考慮記憶體中二進位制 應該怎麼樣解釋。二進位制檔案的讀取是是要告訴元素的型別 編碼方式 文字檔案則預設為char型別。文字檔案是一種特殊的二進...
二進位制檔案
二進位制檔案 也叫型別檔案 二進位制檔案是由一批同一型別的資料組成的乙個資料序列,就是說乙個具體的二進位制檔案只能存放同一種型別的資料。type tmember record name string 10 email string 20 posts longint end var members a...
二進位制檔案
二進位制檔案 也叫型別檔案 二進位制檔案是由一批同一型別的資料組成的乙個資料序列,就是說乙個具體的二進位制檔案只能存放同一種型別的資料。type tmember record name string 10 email string 20 posts longint end var members a...