CArchive读写文件

虽然这种方法最为基本,但是它使用烦琐,而且功能非常简单。这里推荐的是使用“CArchive”,它的使用方法简单且功能十分强大。首先还是用“CFile”声明一个对象,然后用这个对象的指针做参数声明一个“CArchive”对象,这样就可以非常方便地存储各种复杂的数据类型了。它的使用方法见下例: 

//对文件进行写操作 

CString strTemp; 

CFile mFile; 

mFile.Open(“d:/dd/try.TRY”,CFile::modeCreate|CFile::modeNoTruncate|CFile::modeWrite); 

CArchive ar(&mFile,CArchive::store); 

ar<<strTemp; 

ar.Close(); 

mFile.Close(); 

//对文件进行读操作 

CFile mFile; 

if(mFile.Open(“d:/dd/try.TRY”,CFile::modeRead)==0) 

return; 

CArchive ar(&mFile,CArchive::load); 

ar>>strTemp; 

ar.Close(); 

mFile.Close(); 

“CArchive”的“<<”和“>>”操作符用于简单数据类型的读写,对于“CObject”派生类的对象的存取要使用ReadObject()和WriteObject()。使用“CArchive”的ReadClass()和WriteClass()还可以进行类的读写,如: 

//存储CAboutDlg类 

ar.WriteClass(RUNTIME_CLASS(CAboutDlg)); 

//读取CAboutDlg类 

CRuntimeClass*mRunClass=ar.Read 

Class(); 

//使用CAboutDlg类 

CObject* pObject=mRunClass->CreateObject(); 

((CDialog* )pObject)->DoModal(); 

你可能感兴趣的:(存储,Class)