网站大量收购独家精品文档,联系QQ:2885784924

《c输入输出.docVIP

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《c输入输出

第12章 流类库和输入输出 【内容提要】 流的概念及流类库 输入输出的格式控制 输入与输出运算符的重载 文件操作 【重点与难点】 12.1 流的概念及流类库 12.1.1 流的概念 C++中的流是指数据从一个对象传递到另一个对象的操作。从流中读取数据称为提取操作,向流内添加数据称为插入操作。流在使用前要建立,使用后要删除。如果数据的传递是在设备之间进行,这种流就称为I/O流。C++专门内置了一些供用户使用的类,在这些类中封装了可以实现输入输出操作的函数,这些类统称为I/O流类。 C++流预定义了4个标准流类对象,它们可以直接用来输入输出。这些标准流类对象都包含在头文件iostream.h中。 istream cin; //与标准输入设备相关联的标准输入流。 ostream cout; //与标准输出设备相关联的标准输出流。 ostream cerr; //与标准错误输出设备相关联的非缓冲方式的标准输出流。 ostream clog; //与标准错误输出设备相关联的缓冲方式的标准输出流。 12.1.2 流类库 C++的流类库有两个平行的基类streambuf和ios,其它的流类都是从这两个基类直接或间接派生的。使用这些流类库时,必须包含相应的头文件。 ios类及其派生类为用户提供了使用流类的接口。以下给出ios类及其派生类的层次结构图。 ios istream ifstream istream_withassign iostream istrstream fstream ostream strstream ofstream sdiostream ostream_withassign ostrstream 图12.1 ios类的层次关系 12.2 输入输出的格式控制 C++仍可使用C中的printf()和scanf()进行格式化控制,同时又提供了两种格式化控制的方法,一是使用ios类中的有关格式控制的成员函数,二是使用执行格式化输入/输出的格式控制符。 12.2.1 用ios类的成员函数进行格式控制 使用这种方式进行格式控制主要是通过设置及清除格式状态标志、设置域宽、设置填充字符和设置输出精度的操作来完成的。 设置及清除格式状态标志 格式状态标志 格式状态标志 说明 ios::skipws 跳过输入中的空白,用于输入 ios::left 左对齐输出,用于输出 ios::right 右对齐输出,用于输出 ios::internal 在符号和数值之间填充字符,用于输出 ios::dec 转换基数为十进制,用于输入或输出 ios::oct 转换基数为八进制,用于输入或输出 ios::hex 转换基数为十六进制,用于输入或输出 ios::showbase 输出时显示基指示符(0表示八进制,0x或0X表示十六进制),用于输入或输出 ios::showpoint 输出时显示小数点,用于输出 ios::uppercase 输出时表示十六进制的x为大写,表示浮点数科学计数法的e为大写,用于输出 ios::showpos 正整数前显示“+”符号,用于输出 ios::scientific 用科学表示法显示浮点数,用于输出 ios::fixed 用定点形式显示浮点数,用于输出 ios::unitbuf 在输出操作后立即刷新所有流,用于输出 ios::stdio 在输出操作后刷新stdout和stderr,用于输出 图12.2 格式状态标志 图12.2中的格式状态标志在类ios中被定义为枚举值,这些枚举元素的值的共同特点是,使状态标志字二进制表示中的不同位为1,它们共同组成状态标志字,存放在数据成员long x_flags中。在设置格式状态时可以通过按位或(|)运算将多个标志选项组合在一个long int型的值中。 设置状态标志 使用成员函数setf设置参数所指定的格式标志,并返回long int型的标志设置值。 一般调用形式为: 流对象.setf(格式状态标志); 清除状态标志 使用成员函数unsetf清除指定的标志并返回清除前的标志值。 一般调用形式为: 流对象.unsetf(格式状态标志);

文档评论(0)

lunwen1978 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档