分享
分享赚钱 收藏 举报 版权申诉 / 46

类型vc++课件7 流.ppt

  • 上传人:无敌
  • 文档编号:928757
  • 上传时间:2018-05-03
  • 格式:PPT
  • 页数:46
  • 大小:195KB
  • 配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    vc++课件7 流.ppt
    资源描述:

    1、第7章 I/O流,本章主要内容,流的概念 非格式化输入/输出 格式化输入/输出文件的输入/输出,7.1流的概念,在C+中,将数据从一个对象到另一个对象的流动抽象为“流”。流动的方向不同,构成输入/输出流,即I/O流。在C+程序中,数据可以从键盘流入到程序,也可以从程序流向屏幕或磁盘文件。从流中获取数据的操作称为提取操作。向流中添加数据的操作称为插入操作。数据的输入/输出就是通过I/O流来实现的。,C+编译系统提供的I/O流库含有两个平行基类:streambuf和ios,所有的流类都是由它们派生出来的。ios类有4个直接派生类,即输入流类istream、输出流类ostream、文件流类fstre

    2、ambase、串流类strstreambase,这4种流作为流库中的基本流类。,标准I/O流预定义了4个流类对象:cin,cout,cerr,clog。cin:istream流类的一个对象,处理标准输入cout,cerr,clog:ostream流类的对象。cout处理标准输出,cerr和clog处理标准出错信息。不同在于:cerr的输出不带缓冲,因而发送给它的任何内容都立即输出; clog的输出带缓冲,只有当缓冲区满时才输出,也可以通过刷新流的方式强迫刷新缓冲区。,I/O流库中各个类之间的层次关系,7.2非格式化输入/输出,非格式化输入/输出就是按系统预定义的格式进行的输入/输出。按默认约定

    3、,每个C+程序都能使用标准I/O流,如标准输入、标准输出。cin用来处理标准输入,即键盘输入;cout用来处理标准输出,即屏幕输出。它们被定义在iostream.h头文件中。在使用cout和cin前,要用编译预处理命令将所使用的头文件包含到源程序中,其格式如下: #include ,非格式化输出,“”是预定义的插入运算符,作用在流类对象cout上,实现默认格式的屏幕输出。使用cout输出表达式值到屏幕上的格式如下:coutE1E2”是预定义的提取运算符,作用在流类对象cin上,实现默认格式的键盘输入。使用cin将数据输入到变量的格式如下:cinV1V2Vn; 其中,V1、V2、Vn都是变量。功

    4、能是暂停执行程序,等待用户从键盘输入数据,各数据间用空格或Tab键分隔,输入数据类型要与接受变量类型一致,输完后,按回车键结束。cin是istream流类的对象,它在iostream.h头文件中作为全局对象定义:istream cin(stdin); 其中,stdin表示标准输入设备名(键盘)。,7.3 格式化输入/输出,C+提供了两种进行输入/输出格式化的方法:一种是用ios类成员函数进行格式化。另一种是用专门的操作符函数进行格式化。,7.3.1用ios类成员函数格式化,ios类成员函数主要是通过对状态标志、输出宽度、填充字符以及输出精度的操作来完成输入/输出格式化。枚举量定义在ios类中,

    5、因此引用时必须包含ios:前缀。使用时应该全部用符号名,绝不要用数值。,1.用ios成员函数对状态标志进行操作,ios类有3个成员函数可以对状态标志进行操作,并且定义了一个long型数据成员记录当前状态标志。这些状态标志可用位或运算符“|”进行组合。 设置状态标志 用 setf函数设置状态标志, 其一般格式如下: long ios:setf(long flags)清除状态标志 用unsetf函数清除状态标志,其一般格式如下: long ios:unsetf(long flags)取状态标志 用函数flaps取状态标志有两种形式,其格式分别如下: long ios: flags() long i

    6、os:flags(long flag),例7-1 示例设置状态标志。/example71.cpp#include void main() cout.setf(ios:showpos); /设置在正数前加上正号“+” cout.setf(ios:scientific); /设置按科学记数法输出 cout123 123.231) /用右移方式使i中的值为“1”的位不断右移 if(i,2.用ios成员函数设置输出宽度,设置输出宽度函数有两种形式,其格式分别如下: int ios:width(int len) int ios:width()第一种形式是设置输出宽度,并返回原来的输出宽度;第二种形式是返

    7、回当前输出宽度,输出宽度为0。,#include void main() double values = 1.23,35.36,653.7,4358.24; for(int i=0;i4;i+) cout.width(10); cout valuesi n; ,3.设置填充字符,填充字符的作用是当输出值不满输出宽度时用填充字符来填充,默认填充字符为空格。它与width()函数配合使用,否则没有意义。设置填充字符函数有两种形式,其格式分别如下: char ios:fill(char ch) char ios:fill()第一种形式是重新设置填充字符,并返回设置前的填充字符;第二种形式是返回当前的

    8、填充字符。,#include void main() double values = 1.23,35.36,653.7,4358.24; for(int i=0;i4;i+) cout.width(10); cout.fill(*); cout valuesi n; ,4.设置输出精度,设置浮点数输出精度有两种形式,其格式分别如下: int ios:precision(int p) int ios:precision()第一种形式是重新设置输出精度,并返回设置前的输出精度;第二种形式是返回当前的输出精度。,例7-3 示例设置输出宽度、填充字符、输出精度。/example73.cpp#inclu

    9、de void main() int i;i=cout.width();coutwidth:iendl;cout.width(8);coutcout.width()(new width)endl;,char c; c=cout.fill(); coutfilling word is:c( ASCII code(int)c)endl; cout.fill(*); coutcout.fill()(int)cout.fill()(new filling word)endl; int j; j=cout.precision(); coutpresicion:jendl; cout.precision(

    10、8); cout123.456789(example)endl; coutcout.precision()(new presicion)”或插入运算符“setw(4)fg; /设置输入宽度 coutfendlgendli:isetw(4)fg; /设置输入宽度 coutfendlgendli:iendl; ,3设置输出精度函数setprecision(int),setiosflag(ios:fixed)使用定点方式表示实数。setiosflag(ios:scientific)是用科学计数法表示实数。setiosflag(ios:fixed)与setprecision(n)合用,可以控制小数点右

    11、边的数字个数。setiosflag(ios: scientific)与setprecision(n)合用,可以控制科学计数法的小数位数。,例7-5 示例分别用浮点、定点和科学记数法的方式表示一个实数。/example75.cpp#include #include void main() double f=22.0/7; /在用浮点表示的输出中,setprecision(n)表示有效位数 coutfendl; 默认有效位数为6 coutsetprecision(0)fendl; /最小的有效位数为1/在用定点表示的输出中,setprecision(n)表示小数位数 coutsetiosflags

    12、(ios:fixed); coutsetprecision(8)fi;coutiendl;,例7-7 示例设置输出整型数数制。/example77.cpp#include void main()int number=1001; coutDecimal:decnumberendl Hexadecimal:hexnumberendl Octal:octnumberendl;,例7-8在上例中增加一个头文件,对十六进制数进行大写控制。/example78.cpp#include#includevoid main()int number=1001; coutHexadecimal:hex setiosflags(ios:uppercase) numberihexkcjs; coutiendlhexkendlcendljendlswscdij;coutcdi,jnd; /读操作coutn,dendl;istrm.close(); /关闭文件,小结:1.I/O流类层次关系2.格式化输入/输出中的使用ios类成员函数实现(1).状态标志操作,输出宽度,填充字符,输出精度等(2).实用操作符函数格式化3.文件的输入/输出,

    展开阅读全文
    提示  道客多多所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:vc++课件7 流.ppt
    链接地址:https://www.docduoduo.com/p-928757.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    道客多多用户QQ群:832276834  微博官方号:道客多多官方   知乎号:道客多多

    Copyright© 2025 道客多多 docduoduo.com 网站版权所有世界地图

    经营许可证编号:粤ICP备2021046453号    营业执照商标

    1.png 2.png 3.png 4.png 5.png 6.png 7.png 8.png 9.png 10.png



    收起
    展开