首页 > 编程 > C > 正文

使用CFile类进行文件的读写

2023-06-09 12:08:01
字体:
来源:转载
供稿:网友

文件的读写非常重要,下面将重点进行介绍。文件读写的最普通的方法是直接使用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();

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表