第10章 C++语言的输入输出操作.ppt

上传人:s****8 文档编号:66866664 上传时间:2022-12-21 格式:PPT 页数:33 大小:220KB
返回 下载 相关 举报
第10章 C++语言的输入输出操作.ppt_第1页
第1页 / 共33页
第10章 C++语言的输入输出操作.ppt_第2页
第2页 / 共33页
点击查看更多>>
资源描述

《第10章 C++语言的输入输出操作.ppt》由会员分享,可在线阅读,更多相关《第10章 C++语言的输入输出操作.ppt(33页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第第1010章章 C+C+语言的输入语言的输入/输出操作输出操作10.110.1I I/OO流流类类库库概概述述10.210.2标标 准准 文文 件件 的的 输输 入入/输输 出出 操操 作作10.310.3格格式式输输出出操操作作10.410.4磁磁盘盘文文件件的的操操作作10.110.1 I/OI/O流类库概述流类库概述10.1.110.1.1 输入输入/输出流输出流 数据流按其流向可分数据流按其流向可分为输为输入流和入流和输输出出流两种。流两种。输输入流指的是字入流指的是字节节流从流从输输入入设备设备流流向内存。向内存。输输出流指的是字出流指的是字节节流从内存流向流从内存流向输输出出设备

2、设备。输输入流和入流和输输出流都是出流都是带带有内存有内存缓缓冲区的。冲区的。在在C+C+语语言中,将言中,将输输入流和入流和输输出流都分出流都分别别定定义为类义为类,这这些些类类放在放在C+C+语语言的言的I/OI/O流流类类库库中,使用它中,使用它们们定定义义的的对对象称象称为为流流对对象。象。1 1通用通用I/OI/O流类库流类库 使用使用这这些功能些功能时应时应包含包含头头文件文件iostream.hiostream.h。2 2文件文件I/OI/O流类库流类库 使用有关文件使用有关文件读读写操作写操作时时,应应包包含含fstream.hfstream.h文件。文件。10.1.210.1

3、.2 I/OI/O流类库的主要功能流类库的主要功能10.210.2 标准文件的输入标准文件的输入/输出操作输出操作1 1使用预定义的插入符使用预定义的插入符 这是一种最简单的,也是最常用的方这是一种最简单的,也是最常用的方式。式。格式如下:格式如下:coutcout 见书中例见书中例10.110.1,例,例10.210.2。10.2.110.2.1 屏幕输出操作屏幕输出操作 格式如下:格式如下:ostreamostream&.put(char c);.put(char c);见书见书中例中例10.310.3,2 2使用成员函数使用成员函数put()put()输出一个字符输出一个字符 格式如下:

4、格式如下:cout.writecout.write(const char*(const char*strstr,intint n)n)见书见书中例中例10.410.43 3使用成员函数使用成员函数write()write()输出一个字符串输出一个字符串 1 1使用预定义的提取符使用预定义的提取符10.2.210.2.2 键盘输入操作键盘输入操作 格式如下:格式如下:cincin 从从键盘键盘上上输输入数据是入数据是带缓带缓冲区的,冲区的,输输入入完数据按回完数据按回车键时车键时才形成才形成输输入流。入流。输输入流中数据入流中数据项项的默的默认认分隔符分隔符为为空白符。空白符。见书见书中例中例1

5、0.510.5,例,例10.610.6。格式如下:格式如下:char char istream:getistream:get()()见书见书中例中例10.710.7。2 2使用成员函数使用成员函数get()get()获取一个字符获取一个字符 格式如下:格式如下:cin.getline(charcin.getline(char*buf,intbuf,int n,charn,char delinedeline=n)=n)见书见书中例中例10.810.8。3 3使用成员函数使用成员函数getlinegetline()()读取一行字符读取一行字符格式如下:格式如下:cin.readcin.read(c

6、har*(char*buf,intbuf,int n)n)见书见书中例中例10.910.9。4 4使用成员函数使用成员函数read()read()读取若干字符读取若干字符10.310.3 格式输出操作格式输出操作10.3.110.3.1 使用流对象的成员函数进行格式输出使用流对象的成员函数进行格式输出1 1控制输入控制输入/输出格式的标志位输出格式的标志位 用来控制输入用来控制输入/输出格式的标志位如表输出格式的标志位如表10.110.1所示。所示。表表10.1 ios标标志位志位 标 志 位值含 义输入/输出skipws0 x0001跳过输入中的空白符Ileft0 x0002输出数据按输出域

7、左对齐Oright0 x0004输出数据按输出域右对齐Ointernal0 x0008数据的符号左对齐,数据本身右对齐,符号和数据之间为填充符Odec0 x0010转换基数为十进制形式Ooct0 x0020转换基数为八进制形式I/Ohex0 x0040转换基数为十六进制形式I/Oshowbase0 x0080输出的数值数据前面带有基数符号(0或0 x)I/Oshowpoint0 x0100浮点数输出带有小数点Ouppercase0 x0200用大写字母输出十六进制数值Oshowpos0 x0400正数前面带有“+”符号Oscientific0 x0800浮点数输出采用科学表示法Ofixed0

8、x1000使用定点数形式表示浮点数Ounitbuf0 x2000完成输入操作后立即刷新流的缓冲区Ostdio0 x4000完成输入操作后刷新系统的stdout.stderrO 下面介下面介绍绍一些用来控制一些用来控制输输出格式的成出格式的成员员函数。函数。(1 1)设设置置标标志字的成志字的成员员函数函数long flags()long flags()该该函数返回当前函数返回当前标标志字。志字。long long flag(longflag(long)该该函数使用参数更新函数使用参数更新标标志字,并返回更志字,并返回更新前的新前的标标志字。志字。long long setf(longsetf(

9、long setbitssetbits,long field),long field)2 2控制输出格式的成员函数控制输出格式的成员函数 该该函数用来将函数用来将fieldfield参数所指定的参数所指定的标标志位志位清零,将清零,将setbitssetbits为为1 1的的标标志位置志位置1 1,并返回,并返回设设置前的置前的标标志字。志字。long long setf(longsetf(long)该该函数用来函数用来设设置参数的指定的那些置参数的指定的那些标标志志位,并返回更新前的位,并返回更新前的标标志字。志字。long long unsetf(longunsetf(long)该该函数用

10、来清除参数所指定的那些函数用来清除参数所指定的那些标标志志位,并返回更新前的位,并返回更新前的标标志字。志字。(2 2)设设置置输输出数据所占出数据所占宽宽度的成度的成员员函数函数intint width()width()该该函数用来返回当前函数用来返回当前输输出的数据出的数据宽宽度。度。intint width(intwidth(int)该该函数用来用其参数函数用来用其参数设设置当前置当前输输出的数出的数据据宽宽度,并返回更新前的度,并返回更新前的宽宽度度值值。(3 3)设设置填充符的成置填充符的成员员函数函数char fill()char fill()该该函数用来返回当前所用的填充符。函数

11、用来返回当前所用的填充符。char char fill(charfill(char)该该函数用来函数用来设设置当前的填充符置当前的填充符为为参数参数给给定的字符,并返回更新前的填充符。定的字符,并返回更新前的填充符。(4 4)设设置浮点数置浮点数输输出精度的成出精度的成员员函数函数intint precision()precision()该该函数用来返回当前浮点数的有效数字的个函数用来返回当前浮点数的有效数字的个数。浮点数的精度是用有效数字个数来表示数。浮点数的精度是用有效数字个数来表示的,其个数越大,表示精度越高。的,其个数越大,表示精度越高。intint precision(intprec

12、ision(int)该该函数用来函数用来设设置当前浮点数置当前浮点数输输出出时时有效数字有效数字个数个数为该为该函数所指定的参数函数所指定的参数值值,并返回更新,并返回更新前的前的值值。下面下面给给出在默出在默认认情况下的某些参数的情况下的某些参数的值值:数据数据输输出出宽宽度默度默认认情况下情况下为实际宽为实际宽度;度;默默认认情况下填空符情况下填空符为为空格符;空格符;单单精度浮点数最多提供精度浮点数最多提供7 7位有效数字,位有效数字,双精度浮点数最多提供双精度浮点数最多提供1515位有效数字,位有效数字,长长双双精度浮点数最多提供精度浮点数最多提供1919位有效数字。位有效数字。见书见

13、书中例中例10.1010.10,例,例10.1110.11。表表10.210.2中中给给出了出了I/OI/O流流类库类库中定中定义义的控的控制符。使用制符。使用这这些控制符些控制符时时需包含需包含iomarip.hiomarip.h头头文件。文件。10.3.210.3.2 使用控制符进行格式输出使用控制符进行格式输出表表10.210.2 流流类库类库所定所定义义的操作子的操作子 操作子名含 义输入/输出dec数值数据采用十进制表示I/Ohex数值数据采用十六进制表示I/Ooct数值数据采用八进制表示I/Osetbase(int n)设置数制转换基数为n(n为0,8,10,16)0表示使用默认基

14、数I/Ows提取空白符Iends插入空字符Oflush刷新与流相关联的缓冲区Oresetiosflags(long)清除参数所指定的标志位I/Osetiosflags(long)设置参数所指定的标志位I/Osetfill(int)设置填充字符Osetprecision(int)设置浮点数输出的有效数字个数Osetw(int)设置输出数据项的域宽O见书见书中例中例10.1210.12。10.410.4 磁盘文件的操作磁盘文件的操作10.4.110.4.1 打开文件和关闭文件操作打开文件和关闭文件操作1 1打开文件操作打开文件操作 打开文件通常分打开文件通常分为为两步:先两步:先创创建流建流对对象

15、,象,再使用成再使用成员员函数函数open()open()打开指定的文件。打开指定的文件。创创建流建流对对象又可分两种情况,一种情况象又可分两种情况,一种情况是是创创建建fstreamfstream类类的的对对象,另一种情况是象,另一种情况是创创建建ifstreamifstream类类或或ofstreamofstream类类的的对对象。象。(1 1)通)通过创过创建建fstreamfstream类对类对象打开文件象打开文件的方法的方法 方法一:先方法一:先创创建建对对象,再打开文件象,再打开文件 格式如下:格式如下:fstreamfstream ;.open(.open(,);表表10.310

16、.3 文件文件访问访问方式常量方式常量 方 式 名用 途in以输入(读)方式打开文件out以输出(写)方式打开文件app以输出追加方式打开ate文件打开时,文件指针位于文件尾trunc如果文件存在,将其长度截断为0,并清除原有内容;如果文件不存在,则创建新文件binary以二进制方式打开文件,默认时为文本方式nocreate打开一个已有文件,如该文件不存在,则打开失败noreplace如果文件存在,除非设置ios:ate或ios:app,否则打开操作失败ios:inlios:out以读和写的方式打开文件ios:outlios:binary以二进制写方式打开文件ios:inlios:binary

17、以二进制读方式打开文件 方法二:方法二:创创建建对对象和打开文件合二象和打开文件合二为为一一 其格式如下:其格式如下:fstreamfstream (,););与前面方法相比与前面方法相比较较,省略了打开函数的,省略了打开函数的名字名字openopen。(2 2)通)通过创过创建建istreamistream类对类对象或象或ostreamostream类对类对象打开文件的方法象打开文件的方法 方法一:先方法一:先创创建建对对象,再打开文件象,再打开文件 格式如下:格式如下:ofstreamofstream ;.open(.open(););或者或者 ifstreamifstream;.open

18、(.open(););方法二:方法二:创创建建对对象同象同时时打开文件打开文件格式如下:格式如下:ofstreamofstream (););或者或者 ifstreamifstream (););格式如下:格式如下:.close();.close();2 2关闭文件关闭文件10.4.210.4.2 文件的输入文件的输入/输出操作输出操作1 1文本文件的读写操作文本文件的读写操作 在文本文件的在文本文件的读读写操作之前,要先打开写操作之前,要先打开文件,打开文件文件,打开文件时应时应先先创创建流建流对对象,打开文象,打开文件件时应时应指出文件名和指出文件名和访问访问方式,文件打开后方式,文件打开

19、后才可以才可以进进行行读读写操作,操作完写操作,操作完毕毕后后还还要关要关闭闭文件。文件。见书见书中例中例10.1310.13,例,例10.1410.14,例,例10.1510.15。二二进进制文件的制文件的读读写操作与文本文件的写操作与文本文件的读读写操作基本相同,所不同的写操作基本相同,所不同的仅仅在于在于对对二二进进制制文件来文件来说说打开打开时时需要加上需要加上ios:binaryios:binary方式。方式。另外,用于二另外,用于二进进制文件制文件读读写函数通常使用写函数通常使用readread()()函数和函数和write()write()函数。函数。见书见书中例中例10.161

20、0.16。2 2二进制文件的读写操作二进制文件的读写操作10.4.310.4.3 随机文件操作随机文件操作 C+C+语语言中所提供的定位言中所提供的定位读读、写指、写指针针的的函数。函数。在在类类istreamistream中定中定义义的定位的定位读读指指针针的的成成员员函数有如下几种:函数有如下几种:l istreamistream&istream:seekgistream:seekg();l istreamistream&istream:seekgistream:seekg(,);l long long intint&istream:tellgistream:tellg()();在在类类o

21、streamostream中定中定义义的定位写指的定位写指针针的的成成员员函数有如下几种:函数有如下几种:l ostreamostream&ostream:seekpostream:seekp();l ostreamostream&ostream:seekpostream:seekp(,);l long long intint ostream:tellpostream:tellp()();具有下述含具有下述含义义:l cur=1 /cur=1 /相相对对于当前于当前读读/写指写指针针所指所指的位置的位置l beg=0 /beg=0 /相相对对于文件于文件头头的位置的位置l end=2 /end=2 /相相对对于文件尾的位置于文件尾的位置 见书见书中例中例10.1710.17。作作业题业题和上机和上机练习题练习题

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁