第13讲 C到C++.ppt

  1. 1、本文档共86页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
13.3 C++的输入与输出 13.3.1 C++流类结构 1. iostream库 iostream库中具有streambuf和ios两个平行的类, 这都是基本的类,分别完成不同的工作。streambuf类提供基本流操作,但不提供格式支持。类ios为格式化I/O提供基本操作。 2. 标准流 iostream.h说明了标准流对象cin、 cout、 cerr与clog。 在包含iostream.h以后,这些流对象就已经自动建立并打开了。 cin是标准输入流,对应于C的stdin;cout是标准输出流,对应于C的stdout;cerr和clog流被连到标准输出上对应于C的stderr。cerr和clog之间的区别是cerr没有缓冲,发送给它的任何输出立即被执行,而clog只有当缓冲区满时才有输出。缺省时, C++标准流被连到控制台上。 13.3.2 基本I/O操作 1. 输出——插入符“” “”的左操作数为标准输出流对象, 右操作数为待输出的某类型值。 例如:  cout″Hello!\n″; //输出Hello!, 并换行 这时“”为字串或char*插入符。 插入运算符返回所调用的ostream对象的引用,由于为左结合, 所以可以连写。 2. 输入——提取符“” “”的左操作数为标准输入流, 右操作数为行输入量。 它比scanf( )函数更紧凑,且可读性更好,也不易出错。 例如:  cinx;  从cin输入值到x。注意它与scanf( )函数不同,x前并没有地址运算符,与插入符类似,提取符“”也支持连写。  程序员可以为自己定义的类(型)建立相应的插入和提取函数。 13.3.3 格式化I/O 1. 用ios成员函数进行格式化 在iostream.h中, 有如下有关格式化标志的枚举类型定义: enum {skipws=0x0001, //跳过输入中的空白字符 left=0x0002, //输出数据左对齐 right=0x0004, //输出数据右对齐 internal=0x0008, //数据符号左对齐, 数据本身右对齐 dec=0x0010, //转换基数为十进制形式 oct=0x0020, //转换基数为八进制形式 hex=0x0040, //转换基数为十六进制形式 showbase=0x0080, //输出的数值数据全面带基数符号(0或0x) showpoint=0x0100, //浮点数输出带小数点 uppercase=0x0200, //用大写字母输出十六进制数值 showpos=0x0400, //正数全面带“+”号 scientific=0x0800, //浮点数输出采用科学表示法 fixed=0x1000, //浮点数输出采用定点熟形式 unitbuf=0x2000, //完成操作后立即刷新缓冲区 stdio=0x4000 //完成操作后刷新stdout, stderr }; 格式标志存放于一个long整数中,要设置它可用ios的setf( )函数, 其一般格式为: long setf(long flags);  该函数设置参数flags所指定的标志, 返回格式更新前的标志。例如,要设置showbase标志,可使用如下语句:  stream.setf(ios∷showbase); //其中stream是所涉及的流实际上,还可以一次调用setf( )来同时设置多个标志。例如:  cout.setf(ios∷showpos | ios∷ scientific);  清除标志可用unsetf( )函数, 其原型与setf( )类似。 用flags( )函数可得到当前标志值和设置新标志, 分别具有以下两种原型:  long flags(void);  long flags(long flags);  除了标志外, 格式输出还可设置域宽、 填充字符及输出精度。 其原型分别为:  int width(int len);  char fill(char ch);  int precision(int num); 请编译运行下面这段程序: #include

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档