c++程序设计 陈圣国 第7章.pptVIP

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.1 输?入?输?出?流 7.2 文 件 流 7.3 编程示例: 文本数据文件的读写 为了使用文件流,需要在程序中包含fstream.h,在这个头文件中定义了文件输入流ifstream和文件输出流ofstream,它们分别派生自istream和ostream类。 使用输入输出文件流进行文本文件的读写,首先需要建立输入输出文件流对象,下面是一个简单的程序: #include iostream.h #include fstream.h void main( ) { int i=100; char *test=This is a example.; ofstream ofs(test.txt); //定义ofsteam对象 if(!ofs) //判断打开文件是否成功 return; ofsiendltestendl; //写文件 } 这个程序定义了一个ofstream类对象ofs,传递表示文件名的字符串给构造函数,如果文件不存在,构造函数将创建文件,否则覆盖该文件;然后判断文件打开是否成功(这里使用了重载的运算符!);最后用插入运算符向文件中写入变量i的值和字符串test。 ofstream的构造函数也可以有两个参数,第一个参数为文件名,第二个参数为文件的打开方式。上面的程序中第二个参数使用缺省值。文件的打开方式使用ios类中定义的枚举类型常量,可以用“按位或”表达式组合常量来指明多项选择。表7.3是打开方式的常量表。 表7.3 文件打开方式常量表 常 量 标 准 作 用 app ? 下一次写操作内容追加到文件尾 ate ● 打开文件时搜寻文件尾(at end) binary ● 以二进制方式打开文件(某些编译器写为bin) in ● 打开文件以便读 nocreat ? 如果文件不存在,不建立新文件 noreplace ? 如果文件已存在,不覆盖该文件 out ● 打开文件以便写 trunc ? 打开并截断一个现存的文件 表7.3中常量为Borland C++编译器定义的常量,标准栏中有记号的表示是ANSI C++标准所定义的,剩余部分不能保证在所有的编译器中都有定义。上面常量在使用时应通过ios类来引用,例如: ofstream ofs(test.txt, ios::out|ios::ate); 如果用这条语句替换上面程序中的对应语句,则程序运行时每次在test.txt文件中追加两行文本。 ofstream类对象也可以不指定文件名缺省构造,然后用函数成员open( )将其与特定文件联系起来,例如: ostream ofile; //创建输出文件流 ofile.open(test1.txt); //进行处理… ofile.close( ); //关闭ofile流 ofile.open(test2.txt); //重新打开ofile… open( )函数成员也可以有第二个参数用于指定文件打开的方式,使用方式与上面构造函数的第二个参数相同。 用类似的技术可以建立一个输入文件流,例如: #include iostream.h ? #include fstream.h ? void main( ) ? { ? int i; char test[80]; ifstream ifs(test.txt); if(!ifs){ cerrError:unable to open TEST.TXTendl; return; } ifsitest; coutiendltestendl; } 对象ifs由ifstream类构造,并且用一个文件名来初始化。同样,构造函数也可以由第二个参数用于指定打开文件的方式。if语句在该对象上用重载运算符!测试操作是否成功。若成功,对象从文件读取数据,否则,程序给出出错信息并退出。这个程序打开前面输出文件流建立的文本文件,从该文件中读取数据,程序的输出为: 100 This 读者可能注意到,这里读入的字符串与文件输出流例子中写入的字符串不一致,原因是原来字符串中的空格字符在读入时被

您可能关注的文档

文档评论(0)

118压缩包课件库 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档