第十一章IO流与文件系统

收藏

编号:170392486    类型:共享资源    大小:106.02KB    格式:PPT    上传时间:2022-11-20
10
积分
关 键 词:
第十一 IO 文件系统
资源描述:
面向对象程序设计语言C+uI/O系统的作用系统的作用应用程序应用程序I/O系统系统磁磁盘盘键盘键盘显示器显示器文件文件文件文件I/O系统为程序与系统为程序与I/O设备之间进行数据交互设备之间进行数据交互提供了途径。提供了途径。面向对象程序设计语言C+uC语言的标准输入输出函数和只能处理基本语言的标准输入输出函数和只能处理基本数据类型,对用户自定义类型无能为力。数据类型,对用户自定义类型无能为力。uC+可以重载输入输出运算符,能够处理可以重载输入输出运算符,能够处理用户自定义类型。用户自定义类型。uC+采用继承方式来设计流库,功能更强采用继承方式来设计流库,功能更强大,扩充性更好。大,扩充性更好。面向对象程序设计语言C+面向对象程序设计语言C+uios类及其派生类提供用户使用流类的接口类及其派生类提供用户使用流类的接口:面向对象程序设计语言C+u包含常用流类声明的头文件:包含常用流类声明的头文件:iostream.h支持标准支持标准I/0操作操作fstream.h 支持文件支持文件I/0操作操作strstream.h 支持串支持串I/0操作操作iomanip.h支持大多数流操纵符支持大多数流操纵符u当开始执行当开始执行C+程序时,有几个自动打程序时,有几个自动打开的预定义流:开的预定义流:cin标准输入标准输入cout标准输出标准输出cerr不带缓冲标准出错信息输出不带缓冲标准出错信息输出clog带缓冲标准出错信息输出带缓冲标准出错信息输出面向对象程序设计语言C+uistream和和ostream是用户使用流库的是用户使用流库的主要界面之一。主要界面之一。uistream提供了主要的输入操作,可以提供了主要的输入操作,可以通过通过istream完成如下操作:完成如下操作:从输入流中获取单个字符。从输入流中获取单个字符。从输入流中获取一行数据。从输入流中获取一行数据。从输入流中获取指定字节数的数据。从输入流中获取指定字节数的数据。将文件指针移动到指定位置,等等。将文件指针移动到指定位置,等等。面向对象程序设计语言C+uostream提供了主要的输出操作,可以提供了主要的输出操作,可以通过通过ostream完成如下操作:完成如下操作:刷新输出流。刷新输出流。向输出流中写入指定字节数的数据。向输出流中写入指定字节数的数据。将文件指针移动到指定位置,等等。将文件指针移动到指定位置,等等。uistream和和ostream分别重载了分别重载了和和两个运算符,用户可以很方便地使用两个运算符,用户可以很方便地使用这两个运算符对预定义类型进行输入和输这两个运算符对预定义类型进行输入和输出。用户也可以重载这两个运算符,从而出。用户也可以重载这两个运算符,从而能够输入和输出自定义类的对象。能够输入和输出自定义类的对象。面向对象程序设计语言C+面向对象程序设计语言C+面向对象程序设计语言C+操纵符操纵符 含义含义 I/Odec 以十进制为基以十进制为基 I/Ooct 以八进制为基以八进制为基 I/Ohex 以十六进制为基以十六进制为基 I/Ows 提取输入中的空白提取输入中的空白 inputendl 插入换行并刷新流插入换行并刷新流 outputends 在串后插入终止符在串后插入终止符 outputflush 刷新流刷新流 outputsetbase(int)设置基(设置基(0,8,10,16)outputresetiosflags(long)清除参数指定的格式位清除参数指定的格式位 I/Osetiosflags(long)设置参数指定的格式位设置参数指定的格式位 I/Osetfill(int)设置填充字符设置填充字符 I/Osetprecision(int)设置显示精度设置显示精度 I/Osetw(int)设置显示域宽设置显示域宽 I/O面向对象程序设计语言C+void main()int a=100;couthexaendl;coutoctaendl;coutdecaendl;/结果:结果:64144100面向对象程序设计语言C+u输入输出的格式由各种格式状态标志来确定。输入输出的格式由各种格式状态标志来确定。这些状态标志在这些状态标志在状态量状态量中各占一位,它们在中各占一位,它们在ios类中定义为枚举量,如下表所示。类中定义为枚举量,如下表所示。u这些成员函数的功能包括:这些成员函数的功能包括:设置格式状态标志(设置格式状态标志(setf)清除格式状态标志(清除格式状态标志(unsetf)获取格式状态标志(获取格式状态标志(flag)设置域宽、填充字符和设置精度(设置域宽、填充字符和设置精度(width、fill、precision等)等)面向对象程序设计语言C+状态标志状态标志 含义含义 I/Oskipws 跳过输入中的空白跳过输入中的空白 inputleft 左对齐输出左对齐输出 outputright 右对齐输出右对齐输出 outputinternal 在引导符或基指示符后填入字符在引导符或基指示符后填入字符 outputdec 以十进制为基以十进制为基 I/Ooct 以以八进制为基八进制为基 I/Ohex 以十六进制为基以十六进制为基 I/Oshowbase 在在输出中显示基指示符输出中显示基指示符 outputshowpoint 在输出中显示小数点在输出中显示小数点 outputuppercase 十六进制输出时,字母大写十六进制输出时,字母大写 outputshowpos 正整数前显示正整数前显示“+”outputscientific 科学计数法显示浮点数科学计数法显示浮点数 outputfixed 定点形式显示浮点数定点形式显示浮点数 outputunitbuf 在在输出后立即刷新所有流输出后立即刷新所有流 outputstdio 输出后刷新输出后刷新stdout和和stderr output面向对象程序设计语言C+void main()int a=20;double b=111.11;cout.setf(ios:showpos|ios:scientific);coutaendl;coutbendl;/结果:结果:+20+1.111100e+002面向对象程序设计语言C+uC+把文件看作是字符序列。根据数据的把文件看作是字符序列。根据数据的组织形式,文件可分成组织形式,文件可分成ASCII文件和二进制文件和二进制文件两种。文件两种。uASCII文件又称为文本文件,它的每一个字文件又称为文本文件,它的每一个字节放一个节放一个ASCII代码,代表一个字符,这样代码,代表一个字符,这样便于对字符进行处理,也便于输出,但占用便于对字符进行处理,也便于输出,但占用存储空间较多。存储空间较多。u二进制文件是把内存的数据,按其在内存中二进制文件是把内存的数据,按其在内存中的存储形式原样写到磁盘上。用二进制形式的存储形式原样写到磁盘上。用二进制形式输出数据,可节省外存空间和转换时间,但输出数据,可节省外存空间和转换时间,但一个字节并不对应一个字符。一般,中间结一个字节并不对应一个字符。一般,中间结果常用二进制文件保存,以减少外存开销。果常用二进制文件保存,以减少外存开销。面向对象程序设计语言C+C+中进行文件中进行文件I/O的基本过程的基本过程u在在C+中,要进行文件的中,要进行文件的I/O,必须首先,必须首先创建一个流,然后将这个流与文件相关联,创建一个流,然后将这个流与文件相关联,即打开文件,此时才能进行读即打开文件,此时才能进行读/写操作,完写操作,完成后再关闭这个文件。成后再关闭这个文件。面向对象程序设计语言C+uC+有三种类型的文件流:输入文件有三种类型的文件流:输入文件ifstream,输出文件流,输出文件流ofstream,输入,输入/输出文件流输出文件流fstream。这些文件流都定义在。这些文件流都定义在fstream.h中。中。u要执行文件输入要执行文件输入/输出,须做三件事:输出,须做三件事:在程序中要包含头文件在程序中要包含头文件fstream.h建立流。建立流的过程就是定义流类的对象。建立流。建立流的过程就是定义流类的对象。使用使用open()函数打开文件,也就是使某一文件函数打开文件,也就是使某一文件与上面的某一流相联系。与上面的某一流相联系。面向对象程序设计语言C+
展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
提示  装配图网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文
本文标题:第十一章IO流与文件系统
链接地址:https://www.zhuangpeitu.com/article/170392486.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!