同樣一段代碼 FILE *fpf = fopen(filePath, "rb");
fseek(fpf, 98, SEEK_CUR);
unsigned short int receive_arr[1024] = { 0 };
fread((char*)&receive_arr, sizeof(receive_arr), 1, fpf);
int tmp_count = 0;
for (auto value : receive_arr)cout << "count: " << ++tmp_count << " value: " << value << endl;就是正確的而使用C++ 的fstream: fstream fpf(filePath, ios::binary);
unsigned short* receive_arr = nullptr;
try
{
receive_arr = new unsigned short(1024);
}
catch (bad_alloc)
{
cerr << "bad_alloc in" << __LINE__ << endl;
}
fpf.seekg(sizeof(char) * 98,ios_base::beg);
fpf.read((char*)receive_arr,2048);
fpf.close();讀出來的receive_arr的值就是不對(duì)的,這是為什么?
C++中關(guān)于fstream的二進(jìn)制讀取問題
呼啦一陣風(fēng)
2018-10-29 09:09:17