《流类库与输入输出》PPT课件.ppt

上传人:小飞机 文档编号:5635452 上传时间:2023-08-04 格式:PPT 页数:19 大小:809KB
返回 下载 相关 举报
《流类库与输入输出》PPT课件.ppt_第1页
第1页 / 共19页
《流类库与输入输出》PPT课件.ppt_第2页
第2页 / 共19页
《流类库与输入输出》PPT课件.ppt_第3页
第3页 / 共19页
《流类库与输入输出》PPT课件.ppt_第4页
第4页 / 共19页
《流类库与输入输出》PPT课件.ppt_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《《流类库与输入输出》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《流类库与输入输出》PPT课件.ppt(19页珍藏版)》请在三一办公上搜索。

1、流类库与输入输出操作,一、流的概念及流类库结构,东南大学软件学院(苏州)C+程序设计,流:是一种抽象,负责在数据的生产者和数据的消费者之间建立联系,并管理数据的流动,一、流的概念及流类库结构,东南大学软件学院(苏州)C+程序设计,str,东南大学软件学院(苏州)C+程序设计,二、标准输入输出流,标准输入输出流,cin:标准输入 istream类的对象用来处理标准输入,即键盘输入。,cout:标准输出 ostream类的对象,用来处理标准输出,即屏幕输出。,cerr:标准输出 ostream类的对象,用来处理标准出错信息,不带缓冲区,发给它内容立即输出,clog:标准输出 ostream类的对象

2、,用来处理标出错信息,带缓区,缓冲区满时被输出,二、标准输入输出流,东南大学软件学院(苏州)C+程序设计,有一元二次方程ax2+bx+c=0,其一般解为x1,2=(-bb2-4ac)/2a,但若a=0,或b2-4ac0时,用此公式出错。,#include#include using namespace std;int main()float a,b,c,disc;coutabc;if(a=0)cerra is equal to zero,error!endl;else if(disc=b*b-4*a*c)0)cerrdisc=b*b-4*a*c0endl;else coutx1=(-b+sqr

3、t(disc)/(2*a)endl;coutx2=(-b-sqrt(disc)/(2*a)endl;return 0;,东南大学软件学院(苏州)C+程序设计,二、标准输入输出(格式控制),1.使用控制符控制格式,注意:这些控制符号都在iomanip头文件中,使用时应在程序中包含相关头文件,#include#include/不要忘记包含此头文件using namespace std;int main()int a;couta;coutdec:decaendl;/以十进制形式输出整数 couthex:hexaendl;/以十六进制形式输出整数a coutoct:setbase(8)aendl;/以

4、八进制形式输出整数a char*pt=China;/pt指向字符串China coutsetw(10)ptendl;/指定域宽为10,输出字符串 coutsetfill(*)setw(10)ptendl;/指定域宽10,输出字符 double pi=22.0/7.0;/计算pi值 coutsetiosflags(ios:scientific)setprecision(8);/按指数形式输出,coutpi=piendl;/输出pi值 coutpi=setprecision(4)piendl;/改为4位小数 coutpi=setiosflags(ios:fixed)piendl;/改为小数形式输出

5、 return 0;,东南大学软件学院(苏州)C+程序设计,二、标准输入输出(格式控制),3.使用流对象的成员函数控制格式输出,除了可以用控制符来控制输出格式外,还可以通过调用流对象cout中用于控制输出格式的成员函数来控制输出格式。,#include using namespace std;int main()int a=21 cout.setf(ios:showbase);/显示基数符号(0 x或0)coutdec:aendl;/默认以十进制形式输出a cout.unsetf(ios:dec);/终止十进制的格式设置 cout.setf(ios:hex);/设置以十六进制输出的状态 cou

6、thex:aendl;/以十六进制形式输出acout.unsetf(ios:hex);/终止十六进制的格式设置 cout.setf(ios:oct);/设置以八进制输出的状态 coutoct:aendl;/以八进制形式输出acout.unseft(ios:oct);char*pt=China;/pt指向字符串China cout.width(10);/指定域宽为10 coutptendl;/输出字符串 cout.width(10);/指定域宽为10return 0;,三、文件输入输出,ASCII文件与二进制文件,ASCII文件提供了高级的输入输出功能,把若干个字节转换为一个有意义的单位,然后以

7、ASCII字符形式输入输出,二进制文件提供低级的输入输出功能,这种输入输出不经过转化,因此效率较高,传输速度快,效率高,三、文件输入输出,东南大学软件学院(苏州)C+程序设计,文件流与文件流类,三、文件输入输出,东南大学软件学院(苏州)C+程序设计,1.打开磁盘文件,方式一ofstream outfile;outfile.open(f1.dat,ios:out);,方式二ofstream outfile(“f.dat”,”ios:out”);,三、文件输入输出,东南大学软件学院(苏州)C+程序设计,2.文件有效性检查及关闭,a.有效性检查:if(!infile)cerr“error:unabl

8、e to open input file”;exit(1),b.关闭文件:infile.close();,c.将文件流与新文件重新关联:ifstream infile(“in”);infile.close();infile.open(“next”);,三、文件输入输出,东南大学软件学院(苏州)C+程序设计,#include using namespace std;int main()int a10;ofstream outfile(f1.dat,ios:out);if(!outfile)cerrai;outfileai;outfile.close();return 0;,#include in

9、t main()int a10;ifstream infile(f1.dat,ios:in|ios:nocreate);if(!infile)cerrai coutai“;infile.close();return 0;,1.对ASCII文件的操作,三、文件输入输出,东南大学软件学院(苏州)C+程序设计,2.对二进制文件进行读写,2.1 利用成员函数read和write读写二进制文件,istream.read(char*buf,int len)ostream.write(char*buf,int len),2.2 与文件指针有关的流成员函数,三、文件输入输出,东南大学软件学院(苏州)C+程序设

10、计,现有一批学生数据存储于(stuInfo.txt),数据成员包括(学号、姓名性别),要求输入一条学生信息,写入文件后,显示其他所有学生的信息,流类库与输入输出操作,东南大学软件学院(苏州)C+程序设计,四、字符串流,东南大学软件学院(苏州)C+程序设计,1.建立输出字符串流对象,ostream:ostream(char*buf,int n,int mode=ios:out),2.建立输入字符串对象,istream:istream(char*buf,int n),istream:istream(char*buf),四、字符串流,东南大学软件学院(苏州)C+程序设计,using namespac

11、e std;struct studentint num;char name20;float score;int main()student stud3=1001,Li,78,1002,Wang,89.5,1004,Fun,90;char c50;/用户定义的字符数组 ostrstream strout(c,50);/建立输出字符串流,与数组c建立关联,缓冲区长30 for(int i=0;i3;i+)/向字符数组c写3个学生的数据 strout studi.num studi.name studi.score;stroutends;/ends是C+的I/O操作符,插入一个0 coutarray c:cendl;/显示字符数组c中的字符,将一组数据保存在字符数组中,编写一个简单的通讯录程序,在文件myNote.txt中记录朋友的姓名、年龄和电话号码,允许用户向其中添加信息、根据姓名查询或显示所有的信息。,要求:向控制台输入1时,向电话薄中添加用户信息 向控制台输入2时,可以查询用户信息 向控制台输入3时,显示所有用户信息,Thank You!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号