欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第11章 文件编程.ppt

    • 资源ID:70014728       资源大小:93KB        全文页数:17页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第11章 文件编程.ppt

    第11章 文件编程q文件处理是日常办公最主要的操作,启动一个文件处理软件,如Word、Visual Studio 2005、CAD、Photoshop等,打开相关文件,在软件中读取文件内容,并可显示、编辑,处理完成后,保存修改或另存为另一个文件。在Windows资源管理器里,可以创建、复制、重命名、删除文件,搜索指定目录下的所有文件,获取文件的创建、修改、访问日期,以及文件大小等信息,学习文件编程,可以通过程序操作文件,实现特定功能。11.1 文件类nMFC提供CFile及其他几个类,用于操作文件,如打开、读取、写入、重命名、删除文件等,这些功能能够满足基本需求。若要实现更多的功能,如移动文件、复制文件、设置文件属性等操作,或与目录相关的操作,如创建、删除、设置当前目录,需要调用系统API函数。11.1.1 文件格式n文件格式分为两种:明码格式和暗码格式。明码格式为文本文件,可用记事本或写字板等文字处理程序打开,能看到原始的文件内容,如txt、cpp文件,MFC提供CStdioFile类可以很方便的读取和写入文本文件,CStdioFile类派生自CFile类,在CFile类功能的基础上,新增两个函数用于读写文本。11.1.1 文件格式nReadString函数用于读取一行文本,遇到换行符时停止读取,格式如下:nBOOL CStdioFile:ReadString(CString&rString)n参数:nrString:存放当前行的字符串文本。n返回值:若到文件末尾返回FALSE,否则返回TRUE。11.1.1 文件格式nWriteString函数用于写入文本,可在文本中加入换行符n,格式如下:nvoid CStdioFile:WriteString(LPCTSTR lpsz)n参数:nlpsz:要写入的文本。11.1.2 文件对话框n在日常办公中经常需要打开和保存文件,为统一操作界面,减少重复性开发工作,Windows提供了标准的文件对话框,CFileDialog类封装了文件对话框,提供一系列函数用于操作文件对话框。n【范例11-1】创建一个文件对话框对象,以模态对话框形式显示,显示所有选择文件的路径。11.1.3 文件操作n常用的文件操作有新建、重命名、复制、移动、删除等,以及相关的目录操作。CFile类仅提供新建、重命名、删除文件功能,更多与文件、目录相关的操作,需要调用系统API函数。n【范例11-2】创建一个目录,在目录中创建一个空文件,并执行复制、重命名、移动、删除文件操作。11.1.4 文件状态q硬盘上存放的文件具有一些状态信息,如创建、修改、访问时间,文件大小,文件路径,是否为只读、系统、存档文件,MFC提供CFileStatus结构体用于存放文件状态信息,格式如下:nstruct CFileStatusnnCTime m_ctime;/创建时间nCTime m_mtime;/最后一次修改时间nCTime m_atime;/最后一次访问时间nLONG m_size;/文件大小,以字节为单位nBYTE m_attribute;/属性集合nTCHAR m_szFullName_MAX_PATH;/文件路径n;11.1.4 文件状态nGetStatus函数获取文件的状态信息,静态函数,格式如下:nstatic BOOL CFile:GetStatus(LPCSTR lpszFileName,CFileStatus&rStatus)n参数:nlpszFileName:文件路径。nrStatus:CFileStatus结构体的引用,存放状态信息。n返回值:若成功返回TRUE,否则返回FALSE。11.1.4 文件状态nSetStatus函数用于设置文件的状态信息,也为静态函数,格式如下:nstatic void CFile:SetStatus(LPCTSTR lpszFileName,const CFileStatus&status)n参数:nlpszFileName:文件路径。nstatus:要设置的状态信息。n【范例11-3】获取并显示某个文件的状态信息。11.1.5 读写文本文件n文本文件可用任意文本处理程序打开,与文件的后缀名无关,如dsw、dsp、cpp、h、txt、clw、rc均属于文本文件,可拖放到记事本中打开。MFC提供CStdioFile类专门用于处理文本文件,可以很方便的读取和写入文本,也可使用CFile类读写文本文件,但较为复杂。n【范例11-4】新建一个对话框工程File081,实现读取和写入文本文件。11.1.6 读写二进制文件q二进制文件以0、1形式存储数据,以字节为单位存取,若用记事本打开,显示为乱码字符。每种二进制文件都有其固定的格式,若要读取某种二进制文件,必须先了解其内部格式,如word软件的doc文件,在获取其内部格式前,是无法读取其文件内容的,jpg、bmp等图形文件的内部格式是公开的,可根据内部格式,以字节为单位编程读取、显示。MFC提供CFile类可用于读写二进制文件,相对于文本文件,二进制文件读写较为复杂,但数据保密,且体积较小、读取更快。11.2 文件查找n文件查找是一项常用的电脑操作,随着电脑使用时间增长,硬盘中存放的文件随之增加,使用文件查找功能可以快速找到指定类型的文件,如可以搜索某个目录下的所有word文件,或搜索文件内容中包含“CFileFind”字符串的所有文件。11.3 文件序列化n序列化是一种特殊的文件存取技术,在CFile类的功能基础上,将存取的元素看做是一个个对象,要存储的数据看做数据流,如有对象a、b、c,存储时按照a、b、c的顺序放入数据流中,一次性存入硬盘文件中,读取时按照同样的顺序,将读取的数据依次存入a、b、c中。n序列化技术的关键是创建可序列化的类,任何从CObject派生的类都可重写基类的Serialize函数,在函数内部实现数据成员的序列化存储。使用序列化技术,无需关心数据的实际字节长度,只需用同样的元素顺序执行存取操作,在实际开发中,根据需要决定采用序列化技术还是CFile类直接读取。11.3.1 如何实现序列化nMFC提供CArchive类用于实现序列化技术,该类在CFile类的基础上,实现数据的序列化存储,以简化文件的存取操作。CArchive类不仅可以处理基本数据类型,还可处理支持序列化的类,CObject类提供的基本服务包括支持序列化,可创建一个CObject派生类,并重写Serialize函数,实现类的序列化。n若派生类重写Serialize函数,必须在函数内部先调用基类版本的Serialize函数,同时在类声明中添加DECLARE_SERIAL宏,在类实现文件中添加IMPLEMENT_SERIAL宏,用于添加序列化支持。11.3.2 创建可序列化类n创建一个可序列化类,步骤如下:n(1)新建一个CObject派生类。n(2)添加DECLARE_SERIAL和IMPLEMENT_SERIAL宏。n(3)重写Serialize虚函数。n(4)添加类成员函数。n【范例11-7】新建一个单文档工程名为File084,创建一个可序列化类CMyCircle,在文档类中使用序列化技术存取类对象,在视图类中显示、编辑数据。11.3.3 序列化对象

    注意事项

    本文(第11章 文件编程.ppt)为本站会员(qwe****56)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开