第十四章文件流和内存流.ppt

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

第14章 文件流和内存流;14.1.3 文件流类体系 类filebuf用于管理文件的缓冲区。 类fstreambase提供了I/O所需要的所有成员函数。 类ifstream用于从文件中取(i)数据。 类ofstream用于向文件输出(o)数据。 类fstream用于文件的双向数据传递I/O)。 以上类的派生(产生)方法参看305页。;14.2 文件的打开与关闭 14.2.1 文件的打开 C++在文件流类中提供了4个文件的成员函数: void fstreambase::open(char *, int, int=filebuf ::openprot) void ifstream ::open(char *, int=ios :: in, int) void ofstream :: open(char *, int=ios :: out, int) void fstream :: open(char *, int, int);说明: 第一个参数是文件名,第二个参数是访问方式,第三个参数是保护方式。 在所有文件流的基类ios中,可以使用下列打开模式的公有枚举成员: in 0x01 输入 out 0x02 输出 ate 0x04 将指针置于文件未 app 0x08 追加 binary 0x80 打开二进制文件 一般情况,将几种模式组合使用。更多的成员参考306页。;例:打开一个文件result文件 ifstream infile; infile.open(“result”); 等价于: infile.open(“result”,ios ::in); //打开输入文件 infile.open(“result”,ios ::in | ios : : binary); //打开二进制输入文件;说明: 对于类ifstream的对象,打开文件时默认模式in。 对于类ofstream的对象,打开文件时默认模式out。 C++在文件类中提供的4个文件流类中同时重载一个带缺省参数的构造函数: void fstreambase ::fstreambase (char *, int, int=filebuf ::openprot) void ifstream ::ifstream (char *, int=ios ::out, int) void ofstream ::ofstream (char *, int=ios ::in, int) void fstream ::fstream (char *, int, int) 定义对象时,同时也打开了一个文件。;4. 若文件打开出错,则返回一个NULL值。因此常常用下列格式提示出错: ifstream infile; infile.open(“result”); if (! infile) { cour(“cannot open this file”); exit(1); } 其中,exit(1) 为返回编辑状态,1可省。;14.2.2 文件的关闭 ifstream infile; infile.open(“result”); if (! infile) { cour(“cannot open this file”); exit(1); } infile. close();;14.3 文件的读写 使用两个读写运算符: 和 例14-1:模拟DOS命令??将*.cpp 再复制一份,新文件名为:* new.cpp 算法: 打开输入文件 打开输入/输出文件 文件复制 文件关闭;方法一: #include fstream.h #include iostream.h #include stdlib.h void main(int argc,char *argv[]) { if (argc!=3) {coutinput errorendl; exit(1); }; ifstream infile(argv[1]); //定义对象并初始化,打开模式省 if (! infile) { coutCont open source file argv[1]endl; exit(1);} ofstream outfile(argv[2]); //定义对象并初始化,打开模式省 if (! outfile) { coutCont open

文档评论(0)

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

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

1亿VIP精品文档

相关文档