CFile::Open成功開啟檔案後,使用GetLength獲取檔案的長度,nFileLen;然後new一塊記憶體。char*lpBuf=newchar[nFileLen];再使用Read(lpBuf,nFileLen);檔案的資料就裝入到lpBuf指向的記憶體塊了。Read是從當前遊標開始讀取,預設是檔案起始,可以使用Seek/SeekToBegin/SeekToEnd來定位。“怎麼吧結構體的指標pstruct與Read函式關聯起來”——你檔案中如果存的是某種結構化資料(裡面最好別包含指標變數)。可以直接使用pstruct=(MYSTRUCT*)(lpBuf+x);來強制轉換,x表示偏移位置。如果你的結構體裡面包含指標物件(尤其是字串成員),那麼請使用序列號模式來存放結構資料,MFC提供的CArchive類,>><<2個成員函式就能實現結構化資料的儲存裝入了,使用比較簡單。主要是裝入和儲存時候要一一匹配別搞錯就行。具體看看MSDN吧,有不少例子。
CFile::Open()函式開啟檔案後,內容指標指向檔案的第一個位元組的位置,CFile::Seek()函式可以修改讀取的位置。
CFile::Open成功開啟檔案後,使用GetLength獲取檔案的長度,nFileLen;然後new一塊記憶體。char*lpBuf=newchar[nFileLen];再使用Read(lpBuf,nFileLen);檔案的資料就裝入到lpBuf指向的記憶體塊了。Read是從當前遊標開始讀取,預設是檔案起始,可以使用Seek/SeekToBegin/SeekToEnd來定位。“怎麼吧結構體的指標pstruct與Read函式關聯起來”——你檔案中如果存的是某種結構化資料(裡面最好別包含指標變數)。可以直接使用pstruct=(MYSTRUCT*)(lpBuf+x);來強制轉換,x表示偏移位置。如果你的結構體裡面包含指標物件(尤其是字串成員),那麼請使用序列號模式來存放結構資料,MFC提供的CArchive類,>><<2個成員函式就能實現結構化資料的儲存裝入了,使用比較簡單。主要是裝入和儲存時候要一一匹配別搞錯就行。具體看看MSDN吧,有不少例子。