- 1
- 0
- 约6.34千字
- 约 22页
- 2017-04-01 发布于四川
- 举报
第11章节让数据到文本中去
第11章 让数据到文本中去——文件的操作 程序运行时可以从键盘中获取要输入的信息然后显示到标准的输出设备上也可以从存储在磁盘上的文件获取输入数据,处理完成后然后在保存到磁盘上。C++编程语言提供了丰富文件信息的读入与输出方法,本章将着重介绍这些方法。 11.1 文件的概述 文件是计算机中一组数据的集合,凡是我们能都在计算机中看到的都称之为文件,文件可以分为文本文档、图片、程序等等。 在计算机中,文件通常存储在计算机的磁盘上。在使用时通过它所在的路径和文件名导入内存,然后再对文件进行各种处理,处理完成后将文件信息在按照文件路径和文件名称将文件保存到计算机的磁盘中。在使用C++进行编程时,C++已经对文件的处理做了大量的工作,程序员只需要利用C++提供的文件处理的方法来进行文件的处理即可。 11.2 I/O流的描述 C++中的I/O是以流的形式出现现的,流是一个处于传输传输状态的字符序列,流的操作有输入和输出,输入操作是指字符从外部设备输入到内存,输出操作时指字符从内存输出到外部设备。 在C++中,I/O流类的模板是库的基础,类模板可以被实例化成窄字符和宽字符。 11.3 文件的打开模式 在C语言中,文件的打开模式有很多种,不同的打开放式可以对文件进行不同的出处理,同样C++语言继承了C语言的特点,在打开一个文件时也设计了不同的打开方式,C++编程人员在进行编程时可以根据自己的需要来选择不同的文件打开方式。 11.4 打开一个文件 在C语言中,打开一个文件时要用到fopen函数,同样在C++中可以利用库函数进行打开文件,在使用C++中的文件打开函数时必须在源文件的头部包含头文件fstream.h或者fstream。fstream.h是iostream.h的一个扩展集,在标准的C++中iostream.h 已经被fstream.h包含了,并且提供了所有输入与输出的函数,所以在实际使用的时候如果代码中已经包含了fstream.h就可以不用在包含iostream.h头文件了。 在打开一个文件时,既可以用读的方式来打开一个文件也可以用写的方式来打开一个文件,以写的方式打开文件用ofstream来声明一个对象,以读的方式打开文件用ifstream来声明一个对象,文件输入输出函数都是从标准输入输出函数继承而来,它们之间的继承关系如图所示。 11.4 打开一个文件 11.5 向文件中写入数据 上一节中主要介绍了文件的打开方式,在本节中将介绍向文件中进行写入数据的方法。 11.5.1 文本文件的写入方法 “”运算符,“”跟标准输入与输出的功能一样,不同的地方是在标准输入输出中是向标准输出设备中输出数据,而在文件处理中输出设备是文件。例如: 【实例11-3】用“”向文件中输出数据。 #include fstream.h int main() { ofstream ifile;//(in.txt); ifile.open(in.txt); if(ifile) { coutokendl; } ifile从零开始学C++; ifile.close(); return 0; } 11.5.2 二进制文件的写入方法 使用二进制的方式进行写入文件时文件的打开方式必须是ios::binary形式,然后使用write方法向文件中写入文件信息。write方法的原型为: ostream write( const char *buffer, streamsize num ); write方法的功能是将缓冲区buffer中的字符串信息输入到输出流中去。num是输出到输出流中的字符的长度。 11.5.3 将结构体数据写入到文件 在上面的实例中都是将一行或一个字符信息写入到文件中,下面通过一个实例来演示一下将一个用户自己定义的结构体数据写入到文件中。 11.6 从文件中读出数据 文件的写入与读取是两个相反的操作,上节中介绍了向文件中写入数据的方法,在本节中将着重介绍如何从文件中来获取文件中的内容,并将其输出到标准输入输出设备上。 11.6.1 get()方法 get()方法从文件中获取单个的字符信息直到到了文件末尾为止。 11.6.2 getline()方法 getline()方法是获取文件里面一行信息的内容,直到文件结束或人为的结束文件读取功能为止,getline()的具体使用方法如实例所示。 11.6.3 rdbuf()方法 利用rdbuf()方法可以实现流的重定向功能,例如要实现上面把文件里面的信息输出到标准输入输出设备上还可以使用下面的方法。具体如实例11-9所示。 【实例11-9】rebuf()使用方法。 #include fstream.h int main(){ ifstream infile(i
您可能关注的文档
- 科帕奇发动机故障灯亮—郑斌白艳强.ppt
- 科教版九年级上氧气的制取演示课件.ppt
- 科教兴国战略复习演示课件.ppt
- 科学六年级上苏教版3-3变色花演示课件2.ppt
- 科研课题的选题与研究的方案的的设计2.ppt
- 程序框图,条件结构.ppt
- 科教版四上“小结我们的天气观察”演示课件.ppt
- 称重显示操纵器XK3101故障诊断的流程图.ppt
- 科研与实践和传写论文.ppt
- 稍复杂方程解决问题144.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 黑龙江省园林绿化工程消耗量定额2024版.docx VIP
- N—乙酰氨基葡萄糖合成方法的改进.pdf VIP
- L-CKC L-CKC 220工业闭式齿轮油 工业润滑剂 220 说明书.pdf
- 2025年春人教版历史七年级下册全册教学课件.pptx
- 自考14653《证券投资理论与实务》高频考点串讲.docx VIP
- 2026年湖南安全技术职业学院单招职业技能考试题库及完整答案详解一套.docx VIP
- 新城商开事业部产品配置标准及成本控制手册(2020版).pdf VIP
- 四川大学《通信原理》期末试题B卷.docx VIP
- 2024年度实验室CNAS内审全套资料.pptx VIP
- 2026年度护理人员培训计划(两篇).docx VIP
原创力文档

文档评论(0)