永发信息网

MFC 读取文件函数

答案:1  悬赏:30  手机版
解决时间 2021-01-02 14:24
MFC 读取文件函数
最佳答案
文件读写的最普通的方法是直接使用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<<  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();

如果你要进行的文件操作只是简单的读写整行的字符串,我建议你使用CStdioFile,用它来进行此类操作非常方便,如下例。
  CStdioFile mFile;
  CFileException mExcept;
  mFile.Open( "d:\\temp\\aa.bat", CFile::modeWrite, &mExcept);
  CString string="I am a string.";
  mFile.WriteString(string);
  mFile.Close();
追加到原有txt文件尾
mFile.Open(temptxt,CFile::modeCreate|CFile::modeWrite|CFile::modeNoTruncate);
if(mFile==NULL)
return false;
mFile.SeekToEnd();
mFile.WriteString(s);

file.Close();
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
已知二次函数y=2x^2+-(m+1)x+m-1。(1)求证
我的苹果手机充满电后我就把它关机了 等我要
鱿鱼怎么做好吃,杏鲍菇炒鱿鱼的家常做法
硅酸锆和锆英粉一样不?
单选题下列有关《江华条约》的内容,说法不正
kindle fire无法充电了,算不算寿终正寝了
单选题英国工业革命的条件是①资本的原始积累
津津有味还有什么相似的词语
单选题下列各句中的标点符号使用得正确的一句
单选题Harry is ____________my n
Windows第一个应用程序
挂(碱)面晒干后切断的时候,面条会开叉成两
大秦帝国之崛起孟尝君田文扮演者是谁怎么死的
—Which of the caps will you take?—I’ll
很久以前港澳台星期六日早上播放的真人动画片
推荐资讯
个人需要开发一个APP,苹果,安卓,哪个先做
收据单怎么填写
如何在网络上认识陌生人求个好方法!
柴油怎么分好坏
出师表臣本布衣,躬耕于南阳,苟全性命于乱世
最便宜的宝马要多少钱
长期喝啤酒好吗?
大豆子叶的颜色受一对等位基因控制,基因型为A
宝鸡到凤县多长时间
天照是什么意思
我的世界怎么染羊
我就是这么任性 )用英文怎么说呢?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?