C++面向对象程序设计-第2章-3全解.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C面向对象程序设计-第2章-3全解

2.6 输入输出流库 在C++中,没有专门的内部输入输出语句。但为了方便用户灵活实现输 入输出基本功能,C++提供了两套输入输出方法:一套是与C语言相兼容 的输入输出函数,如printf()和scanf()等;另一套是使用功能强大的输入 输出流库ios。 2.6.1 概述 所谓“流”,它是C++的一个核心概念,数据从一个位置到另一个位置的流动抽象为“流”。 C++针对流的特点,构造了功能强大的输入输出流库,它具有面向对象的特性,其继承结 构如图2.1所示。 2.6.2 流的格式控制和错误处理 下面分别来讨论它们的使用方法以及流的错误处理。 1. 使用格式控制成员函数 在ios类中控制输入输出的成员函数有: int ios::width(); // 返回当前的宽度设置 int ios::width(int); // 设置宽度并返回上一次的设置 int ios::precision(); // 返回当前的精度设置 int ios::precision(int); // 设置精度并返回上一次的设置 char ios::fill(); // 返回当前空位填充的字符 char ios::fill(char); // 设置空位填充的字符并返回上一次的设置 long ios::setf(long); // 设置状态标志并返回上一次的状态标志 long ios::unsetf(long); // 消除状态标志并返回上一次的状态标志 long ios::flags(); // 返回当前的状态标志 long ios::flags(long); // 设置状态标志并返回上一次的状态标志 2.6.2 流的格式控制和错误处理 1. 使用格式控制成员函数 ios::skipws 跳过输入中的空白符 ios::left 输出数据按输出域左对齐 ios::right 输出数据按输出域右对齐(默认) ios::internal 数据的符号左对齐,数据本身右对齐,符号和数据之 间为填充字符 ios::dec 转换为十进制形式 ios::oct 转换为八进制形式 ios::hex 转换为十六进制形式 ios::showbase 输出的数值前面带有基数符号(0或0x) ios::showpoint 显示浮点数的小数点和后面的0 ios::uppercase 用大写字母(A到F)输出十六进制数 ios::showpos 显示正数前面的“+”号 ios::scientific 按科学记数法显示浮点数 ios::fixed 用定点格式显示浮点数 ios::unitbuf 输入操作完成后立即刷新缓冲区 ios::stdio 每次输入操作完成后刷新stdout和stderr 2.6.2 流的格式控制和错误处理 [例Ex_FormatFunc] 使用格式控制成员函数 #include iostream.h void main() { int nNum = 12345; double dNum = 12345.6789; char *str[] = {This, is, a Test!}; cout.setf(ios::oct|ios::showbase|ios::showpos); // 设置标志:八进制,显示基和正号 coutnNum\tdNumendl; cout.setf(ios::hex|ios::scientific|ios::uppercase); // 设置十六进制,科学记数法和大写标志 coutnNum\tdNumendl; cout.fill(*); // 设置填充符号为* for (int i=0; i3; i++) { cout.width(12); coutstr[i] ; } coutendl; cout.setf(ios::left); // 设置标志:左对齐 for (i=0; i3; i++) { cout.width(12); coutstr[i] ; } coutendl; } 运行结果为: 2.6.2 流的格式控制和错误处理 2. 使用格式算子 前面介绍的使用成员函数进行格式控制的方法中,每次都要使用一条语句,这样 操作起来比较繁琐。为此,C++提供了一些格式算子来简化上述操作。格式算子 是一个对象,可以直接用插入符或提取符来操作。C++提供的预定义格式算子如 表2.2所示。 2.6.

文档评论(0)

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

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

1亿VIP精品文档

相关文档