ImageVerifierCode 换一换
格式:PPT , 页数:28 ,大小:186KB ,
资源ID:244472      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/244472.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(谭浩强版C++程序设计-第13章--输入输出流.ppt)为本站会员(wj)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

谭浩强版C++程序设计-第13章--输入输出流.ppt

1、第13章 输入输出流,本章要点 C+的输入和输出概述 标准输出流 标准输入流 文件操作与文件流,13.1 C+的输入和输出,1.输入输出的含义C+的输入输出包括三方面内容:对系统指定的标准设备的输入输出。以磁盘文件为对象输入输出。对内存指定的空间进行输入输出。,2.C+的输入输出流,输入输出是数据传送的过程,C+形象地称之为流(stream)。流是指由若干字节组成的字节序列,字节中的数据顺序从一个对象传送到另一对象。C+中,输入输出流被定义为类,称为流类。数据的流动就是由I/O流类来实现的。用流类定义的对象称为流对象。数据流入和流出的对象通常是指计算机中的屏幕、内存、文件等一些输入输出设备。c

2、in和cout为预定义流对象。,I/O流类说明表,I/O流类说明表(续),流类库的结构,streambuf,filebuf,strstreambuf,stdiobuf,ostream,ios,istream,ifstream,istrstream,istream_withassign,ofstream,ostrstream,ostream_withassign,iostream,fstream,strstream,stdiostream,Iostream_init,ios,istream,ostream,ifstream,ofstream,iostream,fstream,与文件输入输出相关的

3、文件流类结构,13.2 标准输出流,cout流对象,对应标准输出设备显示器。用流插入运算符“(重载左移运算符)向cout流插入数据(标准数据类型),数据输出到屏幕。输出格式使用控制符P425表13.3使用流对象的成员函数,表13.4,表13.5控制符在头文件 iomanip中定义,成员函数在iostream中定义.,注意:,输出宽度控制:setw和width(1)宽度的设置仅适用于下一个插入或读取的数据。(2)在输出流中控制域宽,如果输出数据的宽度比设置的域宽小,将以默认右对齐方式输出数据,左边空位会用填充字符来填充(默认是空格)。(3)如果输出数据的宽度比设置的宽度大,数据不会被截断,将输出

4、所有位数。,例:使用setw控制符控制域宽,#include#include using namespace std;void main()cout 123 endl;cout setw(5)4.5 6.7 endl;,程序运行结果为:123 4.56.7,例:使用width成员函数控制域宽,#include using namespace std;void main()char*str3=“abc”,“abcde”,“abcdef”;for(int i=0;i 3;i+)cout.width(5);cout stri endl;,程序运行结果为:abcabcdeabcdef,注意:,输出精度

5、控制setprecision,precision 所设置的精度值,在程序没有设置计数法情况下,表示浮点数的有效数字的个数(缺省为6位)。若程序设置了计数法(ios:fixed或ios:scientific),则表示小数点后数字的个数。ios:fixed 表示以定点法输出浮点数(不带指数)。ios:scientific 表示以科学计数法输出浮点数。,13.3 标准输入流,cin流是istream类的对象,它从标准输入设备(键盘)获取数据,程序中的数据通过流提取符从流中提取数据.输入流在正常状态时,cin的值为”真”,当遇到无效字符或文件结束(Ctrl+Z)时,输入流处于出错状态,cin的值为”假

6、”.,例13.5通过测试cin的真值,判断输入结束,#include using namespace std;int main()float grade;coutgrade)if(grade=85)coutgradeGOOD!endl;if(grade60)coutgradefail!endl;coutenter grade:;coutThe end.endl;return 0;,1.文件的概念文件是指存储在外部介质上的数据的集合.文件包括程序文件和数据文件,数据文件又分为ASCII文件和二进制文件.ASCII文件又称文本文件,它的每个字节存放一个ASCII码;二进制文件以数据在内存中存储形式

7、输出到磁盘.ASCII文件用于显示和打印的数据存放,二进制文件用于暂时保存中间结果数据.,13.4文件操作与文件流,2.文件流与文件流对象,处理文件输入输出的流类主要有ofstream、ifstream和fstream三个类。均定义在fstream.h中。向文件输出数据即将数据保存到文件中时,要使用ofstream类;从文件中读取数据即从文件中输入数据时,要使用ifstream类。而使用fstream类可以同时进行输入及输出操作。对磁盘文件的操作通过文件流对象实现.即用文件流定义一个流对象.,3.文件的打开与关闭,(1)打开磁盘文件方法一调用文件流成员函数open函数用法如下:文件I/O流类名

8、 流对象名;/声明一个流对象 流对象名.open(文件名,打开方式);/调用open函数打开文件 如:ofstream my_file;my_file.open(“boot.dat”,ios:out);参数“文件名”:用于指定要打开文件的文件名 若为不带路径的文件名表示与当前应用程序在同一文件夹.若带路径的文件名,注意 包括路经.,参数“打开方式”,用于指定文件的打开方式,(1)打开磁盘文件方法二,在构造函数中直接指定文件名及打开方式 用法如下:文件I/O流类名 流对象名(文件名,打开方式);如:ifstream infile(“D:hello.dat”,ios:binary);(2)关闭磁盘

9、文件 调用文件流成员函数close 如:my_file.close(),说明:,如果使用以上两种方法打开文件不成功(如文件路径不正确),文件流对象将为0,因此习惯上可用如下方式判断打开操作是否失败:if(!my_file)/如果打开文件的操作不成功,4.对ASCII文件的操作,对ASCII文件的读,写操作有两种方法:用“”运算符输入输出标准类型数据;如:ofstream my_file(“D:data.txt”,ios:out);my_file s i;用put,get,getline等成员函数进行字符的输入输出.,例13.11 有一个整型数组,含10个元素,从键盘输入10个整数给数组,将此数

10、组送到磁盘文件中存放。,#include using namespace std;int main()int a10;ofstream outfile(f1.dat,ios:out);if(!outfile)cerrai;outfileai;outfile.close();return 0;,例13.12 从例13.11建立的数据文件f1.dat中读入10个整数放在数组中,找出并输出10个数中的最大者和它在数组中的序号。,#include int main()int a10,max,i,order;ifstream infile(f1.dat,ios:in|ios:nocreate);if(!

11、infile)cerrai;coutai;coutendl;,max=a0;order=0;for(i=1;imax)max=ai;order=i;coutmaxorderendl;infile.close();return 0;,5.对二进制文件的操作,二进制文件又称为字节文件,可以按字节数对文件进行读写操作。(1)读写二进制文件的成员函数read,write 函数原型:read(char*buffer,int len);write(const char*buffer,int len);调用方式:a.read(p,50);b.write(p,20);,文件流对象,例13.14-15将一批数据

12、以二进制形式存放在磁盘文件中,再从文件读出显示。,#include using namespace std;struct studentchar name20;int num;int age;char sex;,int main()student stud3=“Li”,1001,18,f,“Fun”,1002,19,m,“Wang”,1004,17,f;student stud2;int i ofstream outfile(stud.dat,ios:binary);for(int i=0;i3;i+)outfile.write(char*),ifstream infile(stud.dat,ios:binary);for(i=0;i3;i+)infile.read(char*),(2)与文件指针有关的成员函数,在磁盘文件中有一个文件指针,用来指明当前读写的位置,对于二进制文件允许对指针进行控制。,说明:,“参照位置”参数是下面三者之一:ios:beg 文件开头(默认值)ios:cur 指针当前位置ios:end 文件末尾“位移量”参数为long型整数,正数表示向前(文件尾方向)移动,负数表示向后(文件头方向)移动。例:infile.seekg(100);infile.seekg(-50,ios:cur);outfile.seekp(-80,ios:end);,

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1