軟體關閉時使用CArchive保存檔案 然后關機 再次開機后經常出現檔案損壞!!求助 請高手指點下! 謝謝
uj5u.com熱心網友回復:
退出時應該確定是否保存完畢,如果保存到一半就退出了,肯定損壞uj5u.com熱心網友回復:
Archive有與其對應的File。需要呼叫
CArchive::Flush保證Archive內容寫到檔案,同時需要呼叫
CFile::Close保證檔案內容寫到存盤介質。
如果有幫助,請采納答案好嗎,謝謝!
uj5u.com熱心網友回復:
使用兩個保存檔案來回使用。uj5u.com熱心網友回復:
void CMainFrame::StoreMediumInformation() { CObArray arr; MEDIUM Data; int x=CBETTER->MediumInformation.GetSize(); for(int i=0;iMediumInformation.GetAt(i); arr.Add(new CMediumTemple(Data)); } CFile the_file; CFileException exc; CString pfilename = CBETTER->m_strWorkDir; pfilename+="MediumFile\\"; pfilename+="MediumInformation.BT"; if(!the_file.Open(pfilename, CFile::modeCreate|CFile::modeWrite, &exc)) { AfxMessageBox("Store MediumInformation.BT file error!"); return; } CArchive the_out_Archive(&the_file, CArchive::store); the_out_Archive << &arr; the_out_Archive.Close(); }]uj5u.com熱心網友回復:
請幫忙看下上面存盤的代碼 大神在哪里?uj5u.com熱心網友回復:
需要馬上flush,close等把檔案資料從快取寫入檔案系統uj5u.com熱心網友回復:
carchive.close不是自動呼叫flush嗎?轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/95369.html
標籤:硬件/系統
