- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
面向对象程设计语言C6
第十一章 IO流与文件系统 丘志杰 电子科技大学 计算机学院 软件学院 I/O系统的作用 C++为何有自己的I/O系统 C语言的标准输入输出函数和只能处理基本数据类型,对用户自定义类型无能为力。 C++可以重载输入输出运算符,能够处理用户自定义类型。 C++采用继承方式来设计流库,功能更强大,扩充性更好。 C++流库的结构 C++流库是从继承方法建立起来的一个输入/输出类库,它具有两个平行的基类,即streambuf类和ios类,所有其他的流类都是从它们直接或间接地派生出来的。 streambuf类提供对缓冲区的低级操作: ios类及其派生类提供用户使用流类的接口: 有关头文件和预定义流对象 包含常用流类声明的头文件: iostream.h——支持标准I/0操作 fstream.h ——支持文件I/0操作 strstream.h ——支持串I/0操作 iomanip.h——支持大多数流操纵符 当开始执行C++程序时,有几个自动打开的预定义流: cin——标准输入 cout——标准输出 cerr——不带缓冲标准出错信息输出 clog——带缓冲标准出错信息输出 输入和输出 istream和ostream是用户使用流库的主要界面之一。 istream提供了主要的输入操作,可以通过istream完成如下操作: 从输入流中获取单个字符。 从输入流中获取一行数据。 从输入流中获取指定字节数的数据。 将文件指针移动到指定位置,等等。 ostream提供了主要的输出操作,可以通过ostream完成如下操作: 刷新输出流。 向输出流中写入指定字节数的数据。 将文件指针移动到指定位置,等等。 istream和ostream分别重载了和两个运算符,用户可以很方便地使用这两个运算符对预定义类型进行输入和输出。用户也可以重载这两个运算符,从而能够输入和输出自定义类的对象。 格式控制 C++提供了两种格式控制的方法: 使用操作符 使用ios类中实现格式控制的成员函数 使用操作函数控制格式 C++ I/O流库提供了一些操作符(如下表所示),可以直接嵌入到输入/输出语句中来实现特殊格式的控制。 例子 void main() { int a=100; couthexaendl; coutoctaendl; coutdecaendl; }//结果: 64 144 100 使用ios类成员函数格式化 输入输出的格式由各种格式状态标志来确定。这些状态标志在状态量中各占一位,它们在ios类中定义为枚举量,如下表所示。 这些成员函数的功能包括: 设置格式状态标志(setf) 清除格式状态标志(unsetf) 获取格式状态标志(flag) 设置域宽、填充字符和设置精度(width、fill、precision等) 例子 void main() { int a=20; double b=111.11; cout.setf(ios::showpos|ios::scientific); coutaendl; coutbendl; }//结果: +20 +1.111100e+002 文件I/O C++把文件看作是字符序列。根据数据的组织形式,文件可分成ASCII文件和二进制文件两种。 ASCII文件又称为文本文件,它的每一个字节放一个ASCII代码,代表一个字符,这样便于对字符进行处理,也便于输出,但占用存储空间较多。 二进制文件是把内存的数据,按其在内存中的存储形式原样写到磁盘上。用二进制形式输出数据,可节省外存空间和转换时间,但一个字节并不对应一个字符。一般,中间结果常用二进制文件保存,以减少外存开销。 C++中进行文件I/O的基本过程 在C++中,要进行文件的I/O,必须首先创建一个流,然后将这个流与文件相关联,即打开文件,此时才能进行读/写操作,完成后再关闭这个文件。 文件的打开和关闭 C++有三种类型的文件流:输入文件ifstream,输出文件流ofstream,输入/输出文件流fstream。这些文件流都定义在fstream.h中。 要执行文件输入/输出,须做三件事: 在程序中要包含头文件fstream.h 建立流。建立流的过程就是定义流类的对象。 使用open()函数打开文件,也就是使某一文件与上面的某一流相联系。 举例 #include string.h #include fstream.h void main() { char buf[32]; ifstream in; memset(buf,0,sizeof(buf)); in.open(c:\\test.txt,ios::in); inbuf; in.close(); ofstream out; out.open(c:\\test.t
您可能关注的文档
最近下载
- 电力锅炉压力容器安全监督管理工作规定2000.465.pdf VIP
- 高考英语读后续写(动作描写).docx VIP
- T CSES 101—2023 大气环境健康风险地图编制技术指南.pdf VIP
- 贵州省中医药管理局直属事业单位招聘考试真题2025.docx VIP
- 功德碑撰写范文.pdf VIP
- INOVANCE汇川MD600系列紧凑型变频器综合手册-中文.pdf VIP
- 幼儿园大班拼音连线|图片素材打印【幼儿教案】.doc VIP
- JTS_T 226-2021 水运工程自密实混凝土技术规范.docx VIP
- 盒马鲜生“最后一公里”配送路径优化研究—以深圳市3区为例.docx VIP
- 小农水工程验收监理工作报告.doc VIP
原创力文档


文档评论(0)