使用CFile类进行文件的读写

时间:2021-05-02

文件的读写非常重要,下面将重点进行介绍。文件读写的最普通的方法是直接使用CFile进行,如文件的读写可以使用下面的方法:

//对文件进行读操作

char sRead[2];  CFile mFile(_T("user.txt"),CFile::modeRead);  if(mFile.GetLength()<2)    return;  mFile.Read(sRead,2);  mFile.Close();

//对文件进行写操作  CFile mFile(_T("user.txt "), CFile::modeWrite|CFile::modeCreate);  mFile.Write(sRead,2);  mFile.Flush();  mFile.Close();

虽然这种方法最为基本,但是它的使用繁琐,而且功能非常简单。如与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.ReadClass();

//使用CAboutDlg类

CObject* pObject=mRunClass->CreateObject();

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

本文源自:翔宇亭——IT乐园(http://),转载请保留此信息!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章