MFC中文件操作、查找与选择总结讲解.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MFC中文件操作、查找与选择总结讲解

 HYPERLINK /zwgdft/article/details/7104767 MFC总结(一):MFC中文件操作、查找与选择总结(1) ?本文主要涉及以下几个方面,均为在MFC编程中较为常用的:CFile操作、CArchive操作、如何选择文件和文件夹、如何查找文件、获取当前目录、_access函数等。 ???? (一)使用CFile类操作文件 ?????? CFile类在MFC的文件操作中应该是最常用的了。主要的成员函数有Open、Close、Write、Read、Seek、SeekToEnd、GetLength、GetPosition,具体用法见MSDN。 ?????? (1)文件打开操作: ??? ? ? 文件打开有两种方式,一种是先定义类对象,在用Open函数打开;一种是在定义类对象时传入文件名和打开方式。分别如下 ??????? CFile file; ?? ? ?? if(!file.Open(lpszFileName,?nOpenFlags?)) ???????? ???? return; ?? ? ? 或 ?? ? ? CFile file(lpszFileName,?nOpenFlags); ????? (2)文件打开方式: ?????? 文件打开方式,即上述nOpenFlags的值主要由一些宏定义的值组合而成,具体见MSDN,常用的有如下几种: ?????? A.?CFile::modeCreate?|??CFile::modeNoTruncate?|CFile::modeWrite?,以写文件的方式打开,如果文件不存在,则新建文件,否则打开已有文件进行写入操作,此时不会清空原有文件; ?????? B. 将上述CFile::modeWrite更换为CFile::modeRead?或者CFile::modeReadWrite?可实现读操作或者同时读写。 ??? (3)判断文件结束 ? ?? 判断文件是否结束,没有结束则继续读取,否则关闭退出。这点在编程时常用。对于CFile常用的判断文件结束的方法是: ? ? while(file.GetPosition() file.GetLength()) ??? {?? //文件未结束 ??? ? ? ?? //Add code .... ??? } ??? (4)值得注意的几点: ???? A. 当文件名中包含路径时,要注意使用\\,如C:\\MyFile.DAT,在Unicode下时,需要使用_T(C:\\MyFile.DAT); ???? B. 采用(2)中A方式写文件时,注意使用file.SeekToEnd()将文件指针移至文件尾,再写入,否则会覆盖已有的数据,这点经常被很多初学者忽视; ???? C. 在打开文件后就要紧接着写下Close,养成这样的习惯,避免忘记关闭文件。特别是在对某个读出的数据进行判断,如何符合条件则函数返回,此时一定要切记返回前关闭文件; ???? D. CFile读写文件都是按照字节来实现的。 ??????? 未完,待续。。。。?  HYPERLINK /zwgdft/article/details/7107276 MFC总结(一):MFC中文件操作、查找与选择总结(2) (二)CArchive类操作 ?? ? CArchive类实现数据的缓冲区读写,同时定义了类对象的存储与读取方案。 在文档视图编程,结合CList和CArray等可很方便的实现数据读写。 ???? (1)基本数据读写----显示创建CArchive对象 ???? A.? 使用CArhive类之前,必须要有一个CFile文件对象,同时必须保证CArchive的操作必须是在CFile处于打开状态,且操作期间文件状态不会发生变化。 ???? B. 然后定义CArchive对象,将其与CFile对象关联,并指定其模式是用于缓冲区读还是写: ????? CArchive ar (pFile, ? ? ? ? ? ? //目标文件,CFile对象指针 ??????????????????????????????nMode,??????? //操作方式, 读/写 ??????????????????????????????nBufSize,??? //指定缓冲区大小,默认为4096 ??????????????????????????? ??lpBuf?????????? //缓冲指针,默认为NULL,即从本地堆中取出一块内存空间,操作结束后自动释放 ??????????????????????????? ); ????? C.对于基本数据类型,可直接使用operator 和operator 进行数据读出和写入。这些数据类型BYTE、WORD、LONG、DWOR

文档评论(0)

此项为空 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档