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

文件 第二十五章 回顾 静态绑定和动态绑定的概念 多态性的意义和作用 虚析构函数的作用和使用方法 虚函数的定义方法 抽象基类的作用和定义方法 目标 解释流和文件 讨论文本流和二进制流 了解文件流类的继承关系 掌握使用文件流操作文本文件的方法 掌握使用文件流操作二进制文件的方法 文件输入/输出 C 语言的 I/O 操作使用标准库中的函数来实现 文件输入和输出的数据可以用内部的二进制表示法传输 文件输入和输出的数据也可以按文本格式传输 文件的基本概念 文件可以保存程序运行的结果 文件使程序操作大量数据成为可能 大型系统的运行需要文件支持 文件流 文件是一组相关联的数据的集合 C++将文件看成有序的字节流 文件被打开后,操作系统为该文件建立的一个缓冲区,或称为一个字节序列,即流 文件流是一系列独立的字节,没有任何标记用来指明文件的结束或记录的结束 文件的结束是由文件大小来决定的 有两种类型的流 文本流 二进制流 文本流 文本流是一系列字符(ASCII码),可以由许多行构成,每行由一个换行符终止 在文本流中,可以根据情况需要对某些字符进行转换 写(或读)的字符与外部设备上的字符可能不是一对一的关系 同样,由于可能发生转换,写(或读)的字符数可能与外部设备上的字符数不同 二进制流 二进制流是一系列字节(从内存中直接复制过来的),并与外部设备上的字节一一对应 写(或读)的字节数与外部设备上的字节数一样 字符信息,数据的内部表示就是ASCII码表示,所以在文本文件和在二进制文件中保存的字符信息没有差别,但对于数值信息,数据的内部表示和ASCII码表示截然不同,所以在文本文件和在二进制文件中保存的数值信息也截然不同 文件 文件可以指任何设备,如磁盘文件、显示器、键盘以及打印机 C++采用相同的方式操作磁盘文件和I/O设备 缓冲文件系统可以将每个设备转换成逻辑设备,即所谓的流 通过执行打开操作,文件可以与流进行关联;通过执行关闭操作,可以断开关联 如果一个程序正常终止,所有文件都会自动关闭 一旦程序崩溃,文件会保持打开状态 头文件和类 #include fstream.h 和文件相关的三个类 类ifstream——文件的输入 类ofstream——文件的输出 类fstream——文件的输入输出 声明流对象 ifstream ifile; //说明一个输入流 ofstream ofile; //说明一个输出流 fstream iofile; //说明一个输入/输出流 文件流类的继承关系 打开文件 说明了流对象之后,可使用函数open()打开文件。文件的打开即是在流与文件之间建立一个连接 函数原型 void open(const char * filename,int mode, int prot=filebuf::openprot); 参数 filename:文件的名称,可以包含(绝对和相对)路径 mode:文件打开模式 prot:文件访问方式 打开文件的方式 文件的访问方式 prot决定文件的访问方式,取值为: 0 普通文件 1 只读文件 2 隐含文件 4 系统文件 一般情况下,该访问方式使用默认值 文件打开的几点说明 文件打开也可以通过构造函数打开,例如: ofstream outFile(outFile.txt,ios::out); 文件的打开方式可以为上述的一个枚举常量,也可以为多个枚举常量构成的按位或表达式。 使用open成员函数打开一个文件时,若由字符指针参数所指定的文件不存在,则建立该文件。 当打开方式中不含有ios::ate或ios::app选项时,则文件指针被自动移到文件的开始位置,即字节地址为0的位置。 使用构造函数或open()打开文件失败,流状态标志字中的failbit、badbit或hardbit将被置为1,并且在ios类中重载的运算符“!”将返回非0值 文件打开示例 #include fstream.h #include iostream.h void main() { ofstream ofile; //ofstream ofile(c:\\abc\\first.txt,ios::out); ofile.open(first.txt,ios::out); if(!ofile) { cerrFile Open Or Create Failendl; } else { coutFile Open Or Create Successendl; ofileThis is Test File!!; } ofile.close(); } 文件关闭 每个文件流类中都提供有一个关闭文件的成员函数close() 功能:当打开的文件操作结束后,就需要关闭它

文档评论(0)

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

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

版权声明书
用户编号:8000054077000003

1亿VIP精品文档

相关文档