(C课件)第9章文件.ppt

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

第九章 流类库和输入/输出;9.1 C++的基本流类体系;9.2 文件的输入与输出;9.2 文件的输入与输出;9.2.1  文件的打开与关闭;2.使用文件流对象的成员函数打开一个磁盘文件。这样在文件流对象和磁盘文件名之间建立联系。文件流中说明了三个打开文件的成员函数。 void ifstream::open(const char*,int =ios::in, int=filebuf::openprot); void ofstream::open(const char *,int=ios::out, int=filebuf::opernprot); void fstream::open(const char*,int, int=filebuf::openprot); 第一个参数为要打开的磁盘文件名。第二个参数为打开方式,有输入(in),输出(out)等,打开方式在ios基类中定义为枚举类型。第三个参数为指定打开文件的保护方式,一般取默认。所以第二步可如下进行: iofile.open(“myfile.txt”,ios::in|ios::out);;文件打开方式: 是由在ios类中定义的公有枚举成员决定: enum open_mode{ in=0x01, out=0x02, ate=0x04, app=0x08, trunc=0x10, binary=0x80 };; ios::in 打开文件进行读操作 ios::out 打开文件进行写操作 ios::ate 打开时文件指针定位到文件尾 ios::app 添加模式,所有增加都在文件尾部进行 ios::trunc 如果文件已经存在则清空源文件 ios::nocreate 如果文件不存在则打开失败 ios::noreplace 如果文件存在则打开失败 ios::binary 二进制文件(非文本文件) Mode的符号常量可以用位或运算|组合在一起,如:ios::in|ios::binary 只读方式打开二进制文件 对于ifstream流,mode默认方式是ios;;in;对于ofstream流,mode默认方式是ios;;out;;  三个文件流类都重载了一个带默认参数的构造函数,功能与open函数一样: ifstream::ifstream(const char*, int=ios::in, int=filebuf::openprot); ofstream::ofstream(const char*,int=ios::out, int=filebuf::openprot); fstream::fstream(const char*,int, int=filebuf::operprot); 所以1,2两步可合成: fstream iofile(”myfile.txt”,ios::in|ios::out);; 打开文件也应该判断是否成功,若成功,文件流对象值为非零值,不成功为0(NULL),文件流对象值物理上就是指它的地址。 因此打开一个文件完整的程序为: fstream iofile(”myfile.txt”,ios::in|ios::out); if(!iofile){ cout”不能打开文件:””myfile.txt”endl; return -1; } //失败退回 ;3.使用提取和插入运算符对文件进行读写操作,或使用成员函数进行读写。 输出流函数: put write 输入流函数: get read;4.关闭文件。三个文件流类各有一个关闭文件的成员函数 : void ifstream::close(); void ofstream::close(); void fstream::close(); 使用很方便,如: iofile.close(); ;   关闭文件时,系统把该文件相关联的文件缓冲区中的数据写到文件中,保证文件的完整,收回与该文件相关的内存空间,可供再分配,把磁盘文件名与文件流对象之间的关联断开,可防止误操作修改了磁盘文件。如又要对文件操作必须重新打开。 关闭文件并没有取消文件流对象,该文件流对象又可与其他磁盘文件建立联系。文件流对象在程序结束时,或它的生命期结束时,由析构函数撤消。它同时释放内部分配的预留缓冲区。 ;例1 分析以下程序的运行结果,对文本文件的读写直接使用插入运算符《 和提取运算符》; int main() {

文档评论(0)

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

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

1亿VIP精品文档

相关文档