10_文件处理.ppt

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

文件流处理 File handler 课程内容 C++的文件流 文件流处理 文件流的错误处理 字节流处理 C++的文件处理机制 C标准库提供了一套基于缓冲的文件打开关闭系统的函数 fopen/fread/fwrite/fgets/fputs C++标准库提供一个基于流的文件输入输出机制 提供两个基本类 ifstream 读取文件 ofstream 写入文件 需要加入头文件fstream.h 其操作极其类似标准输入,标准输出流 文件分类 文本文件的几种类型 Unix文本文件: 换行符为’\n’,最后一行只有一个回车符的空行 Windows文本文件: 换行符为”\r\n”,即有两个字符一起作为换行符. 用工具可以互相转换 Linux 上的工具创建文本文件都是Unix文本文件.在Windows下直接用写字板打开,回车没有生效 UltraEdit 可以两种格式文本文件都能创建.并能作互相转换 文件流的概念 流是一组字符或数据流的源或目的 两种流 输出流(允许写入或存储字符) 输入流(允许读取或提取字符) 输出流与 ostream 类相关联 输入流与istream类相关联 ios类是流类层次结构的虚拟基类 istream和ostream类从类ios派生而来 文件输出流是以文件为形式并链接到一个流 文件流对象  要用#includefstream.h命令。  三个提供文件输入/输出能力的流 ifstream类 从istream类派生,用于文件输入(读取) ofstream类 从ostream类派生,用于文件输出(写入) fstream类 从iostream类派生,用于输入和输出  定义用户所需要的文件流对象,然后利用open成员函数,按照一定的方式打开一个文件。文件被打通过流对象访问其中内容,结束后用close关闭。 文件输出样例 流文件处理流程 0.首先根据需求选择创建一个流对象 1.首先用open()方法打开一个流对象,或用相应的构造函数打开 2.在打开的流对象,对文件内容进行读写 使用流运算符 ,直接读写 使用流成员函数 输出流成员函数为:put函数、write函数 输入流成员函数有:get函数、getline函数、read函数 3.调用close()方法关闭一个流 4.销毁流对象,如果销毁未做第3步,则自动执行一次 文件流的打开 调用流方法open打开一个流 void open(const char * filename,int mode,int prot=filebuf::openprot); filename:文件名,它可包含路径说明。 mode:文件打开的模式,下表是mode的取值 文件流的打开(续1) 对于ifstream流,mode的默认值为ios::in; 对于ofstream流,mode的默认值为ios::out mode的符号常量可以“|”组合在一起,如ios::in|ios::binary表示以只读方式打开二进制文件。 prot:文件的访问方式,取值为: 0 普通文件  1 只读文件 2 隐含文件 4 系统文件 文件流的打开(续2) 打开一个输出文件 ofstream fout(TEST.TXT); ofstream fout(“TEST.TXT”,ios::out); 打开一个文件并删除所有内容 ofstream fout(TEST.TXT,ios::out|ios::trunc); 打开一个文件并追加内容 ofstream fout(TEST.TXT,ios::app); 打开一个文件进行二进制输出 ofstream fout(TEST.TXT,ios::binary); 文件流的关闭 在文件操作结束时,可以用close()成员函数关闭该文件。 Outfile.close(); 在该文件流对象生存期结束时,对象也会自动调用析构函数来关闭文件。最好在文件操作结束时,关闭文件,这样会使程序的可读性更好 用流操作符读写文件 ,可以直接对基本数据类型进行文件读写 如果对象重载了,操作符,则对象也可以直接从流中读取数据 用get ()/put ()来读写文件 向一个输出流输入一个字符 ofstream put(char c) 从一个输入流取出一个字符 ifstream get(char c) 一个简单文件拷贝实例 用get和put实现文件拷贝 二进制文件的读写操作 用write()往文件写入n个字节 用read()从文件读取n个字节 用read/write读写的实例 文件随机访问 文件顺序访问 get和put指针分别指定读和写操作的当前位置 每次执行输入或输出操作时,这两个指针都按一定顺序自动移动 文件随机访问 seekg( )和tel

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档