第13章+输入输出流.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文件流对象.open(磁盘文件名,输入输出方式); 磁盘文件名可以包括路径,如″c:\\new\\f1.dat″,如缺省路径,则默认为当前目录下的文件。 (2) 在定义文件流对象时指定参数 在声明文件流类时定义了带参数的构造函数,其中包含了打开磁盘文件的功能。因此,可以在定义文件流对象时指定参数,调用文件流类的构造函数来实现打开文件的功能。如 ostream outfile(″f1.dat″,ios::out); 一般多用此形式,比较方便。作用与open函数相同。 输入输出方式是在ios类中定义的,它们是枚举常量,有多种选择,见书中表13.6。 说明: ① 新版本的I/O类库中不提供ios::nocreate和ios::noreplace。 ② 每一个打开的文件都有一个文件指针。 ③ 可以用“位或”运算符“|”对输入输出方式进行组合。 ④ 如果打开操作失败,open函数的返回值为0(假),如果是用调用构造函数的方式打开文件的,则流对象的值为0。 2. 关闭磁盘文件 在对已打开的磁盘文件的读写操作完成后,应关闭该文件。关闭文件用成员函数close。如 outfile.close( );//将输出文件流所关联的磁盘文件关闭 所谓关闭,实际上是解除该磁盘文件与文件流的关联,原来设置的工作方式也失效,这样,就不能再通过文件流对该文件进行输入或输出。此时可以将文件流与其他磁盘文件建立关联,通过文件流对新的文件进行输入或输出。如 outfile.open(″f2.dat″,ios::app|ios::nocreate); 此时文件流outfile与f2.dat建立关联,并指定了f2.dat的工作方式。 如果文件的每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件(或称字符文件)。程序可以从ASCII文件中读入若干个字符,也可以向它输出一些字符。 对ASCII文件的读写操作可以用以下两种方法: (1) 用流插入运算符“”和流提取运算符“”输入输出标准类型的数据。 (2) 用本章13.2.3节和13.3.2节中介绍的文件流的put,get,geiline等成员函数进行字符的输入输出。 13.4.4 对ASCII文件的操作 例13.11 有一个整型数组,含10个元素,从键盘输入10个整数给数组,将此数组送到磁盘文件中存放。 #include fstream #includeiostream using namespace std; int main( ) {int a[10]; ofstream outfile(″f1.dat″,ios::out);//定义文件流对象,打开磁盘文件″f1.dat″ if(!outfile) //如果打开失败,outfile返回0值 {cerr″open error!″endl; exit(1); } cout″enter 10 integer numbers:″endl; for(int i=0;i10;i++) {cina[i]; outfilea[i]″ ″;} //向磁盘文件″f1.dat″输出数据 outfile.close(); //关闭磁盘文件″f1.dat″ return 0; } 运行情况如下: enter 10 integer numbers: 1 3 5 2 4 6 10 8 7 9 ↙ 请注意: 在向磁盘文件输出一个数据后,要输出一个(或几个)空格或换行符,以作为数据间的分隔,否则以后从磁盘文件读数据时,10个整数的数字连成一片无法区分。 例13.12 从例13.11建立的数据文件f1.dat中读入10个整数放在数组中,找出并输出10个数中的最大者和它在数组中的序号。 #include fstream int main( ) {int a[10],max,i,order; ifstream infile(″f1.dat″,ios::in|ios::nocreate); //定义输入文件流对象,以输入方式打开磁盘文件f1.dat if(!infile) {cerr″open error!″endl; exit(1); } for(i=0;i10;i++) {infilea[i];//从磁盘文件读入10个整数,顺序存放在a数组中 couta[i]″ ″;} //在显示器上顺序显示10个数 coutendl; max=a[0]; order=0; for(i=1;i10;i++) if(a[i]max) {max=a[i];

文档评论(0)

微微 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档