《面向对象程序设计》第二章 C++基本知识速成(2.6)输入输出流简介

2.6输入输出流简介 2.6.1无格式输入/输出(默认的格式输入输出) 输入和输出并不是C++语言的组成部分,而是 iostream库支持来实现的 在 iostream库中,输入输出是按流的形式进行操作的。输入和输出操作分别由 Istream(输 入流)和 ostream(输出流)两个类提供,而 Iostream则是这两个类的派生类。它允许进行双向 的LO操作。 Istream的输入操作可以认为是一个数据抽取的过程,通过右移操作符”>>”从输 入流抽取数据:而 ostream的输出操作则可以认为是一个数据插入过程,通过左移操作符”>variblel>>varible>>..>>varible 2.6.2指定格式输入输出 有的时候需要按特定的格式进行输入输出,这时需要了解输入输出流的格式状态符。 每个 Iostream对象都对应一组描述其处理数据格式状态的状态变量。用户可以通过成员 函数et0和unst)来设置或取消某个状态标志。同时,系统还提供给用户一套用于修改某 个对象状态的操作符。 在隐含的情况下,对整数的读写是按十进制的方式进行的,若应用需要时,用户可以 oct、hex、dec将整数指定为按八进制、十六进制或恢复为十进制进行读写, 例如:cout<< octal:<<”tt”<oct<<6<<n 在隐含的情况下,每个浮点数具有6位数字精度,要想改变这一设置,可以通过成员函 数 precision(int)来实现,而 precision)则返回当前的精度。 例如 cout. precision( 12) cout<< precision: <<cout precision(<<endle cout<<f<<endle 如果要按更复杂的格式进行数据输入输出,则需要成员set()对输入输出的格式状态标 志进行设置。该函数具有重载实例,如下所示: 格式1:setf(long) 格式2:set( long long)
2.6 输入输出流简介 2.6.1 无格式输入/输出(默认的格式输入输出) 输入和输出并不是 C++语言的组成部分,而是 iostream 库支持来实现的。 在 iostream 库中,输入输出是按流的形式进行操作的。输入和输出操作分别由 istream(输 入流)和 ostream(输出流)两个类提供,而 iostream 则是这两个类的派生类。它允许进行双向 的 I/O 操作。istream 的输入操作可以认为是一个数据抽取的过程,通过右移操作符”>>”从输 入流抽取数据;而 ostream 的输出操作则可以认为是一个数据插入过程,通过左移操作符”>varible1>>varible2>>. . .>>variblen; 2.6.2 指定格式输入输出 有的时候需要按特定的格式进行输入输出,这时需要了解输入输出流的格式状态符。 每个 iostream 对象都对应一组描述其处理数据格式状态的状态变量。用户可以通过成员 函数 setf()和 unsetf()来设置或取消某个状态标志。同时,系统还提供给用户一套用于修改某 个对象状态的操作符。 在隐含的情况下,对整数的读写是按十进制的方式进行的,若应用需要时,用户可以 oct、hex、dec 将整数指定为按八进制、十六进制或恢复为十进制进行读写。 例如: cout<<”octal:”<<”\t\t”<<oct<<6<<\’\n’; 在隐含的情况下,每个浮点数具有 6 位数字精度,要想改变这一设置,可以通过成员函 数 precision(int)来实现,而 precision()则返回当前的精度。 例如: cout.precision(12); cout<<”precision:”<<cout.precision()<<endle; cout<<f<<endle; 如果要按更复杂的格式进行数据输入输出,则需要成员 setf()对输入输出的格式状态标 志进行设置。该函数具有重载实例,如下所示: 格式 1:setf(long); 格式 2:setf(long,long);

格式1中的参数可以是一个二进制标志位或一个标志域。表2.8列出了常用的标志位 及其含义 表2.8输入输出格式状态标志符的标志位及其含义 标志 含义 显示数值的进制 oS.showpoint 显示小数点 设定为十进制基准 los hex 设定为十六进制基准 设定为八进制基准 ios fixed 以小数形式显示浮点数 以科学记数法形式显示浮点数 在格式2中,第一个参数是一个设定值,而第二个参数参数是设定该值的标志域。表2.9 列出了这两个参数可取的值 表2.9输入输出格式状态标志符的标志位的作用参数 标志位 「标志取值 ios basefield 整数的进制 ios. floatfield 浮点数的精度及格式 ios. fixed set(long,long)首先将标志域清零,然后根据第一个参数对联标志域进行设置,它返回 该标志域重新设置之前的值,其类型也是long。利用其返回值,可以保存该值,以备以后恢 复该状态 例2.13]按不同格式进行数据输出(EX2_13cpp*)
格式 1 中的参数可以是一个二进制标志位或一个标志域。表 2.8 列出了常用的标志位 及其含义。 表 2.8 输入输出格式状态标志符的标志位及其含义 标志 含义 ios::showbase 显示数值的进制 ios::showpoint 显示小数点 ios::dec 设定为十进制基准 ios::hex 设定为十六进制基准 ios::oct 设定为八进制基准 ios::fixed 以小数形式显示浮点数 ios::scientific 以科学记数法形式显示浮点数 在格式 2 中,第一个参数是一个设定值,而第二个参数参数是设定该值的标志域。表 2.9 列出了这两个参数可取的值。 表 2.9 输入输出格式状态标志符的标志位的作用参数 标志位 含义 标志取值 ios::basefield 整数的进制 ios::hex ios::oct ios::dec ios::floatfield 浮点数的精度及格式 ios::fixed ios::scientific Setf(long,long)首先将标志域清零,然后根据第一个参数对联标志域进行设置,它返回 该标志域重新设置之前的值,其类型也是 long。利用其返回值,可以保存该值,以备以后恢 复该状态。 [例 2.13] 按不同格式进行数据输出(EX2_13.cpp*)
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《面向对象程序设计》第二章 C++基本知识速成(2.5)C++的语句及程序流程控制.doc
- 《面向对象程序设计》第二章 C++基本知识速成(2.4)C++的运算符和表达式.doc
- 《面向对象程序设计》第二章 C++基本知识速成(2.3)C++数据类型.doc
- 《面向对象程序设计》第二章 C++基本知识速成(2.2)C++程序构架及词法符号约定.doc
- 《面向对象程序设计》第二章 C++基本知识速成(2.1)C++语言概述.doc
- 《面向对象程序设计》第三章 聚合数据类型与操作函数(3.4)结构类型及链表处理.doc
- 《面向对象程序设计》第三章 聚合数据类型与操作函数(3.3)函数类型与应用方法.doc
- 《面向对象程序设计》第三章 聚合数据类型与操作函数(3.2)指针类型与地址算法.doc
- 《面向对象程序设计》第三章 聚合数据类型与操作函数(3.1)数组类型与简单线性表处理.doc
- 《面向对象程序设计》第七章 面向对象的系统分析和设计(7.5)系统文档编制和实现、测试.doc
- 《面向对象程序设计》第七章 面向对象的系统分析和设计(7.4)评审和修正OOA模型.doc
- 《面向对象程序设计》第七章 面向对象的系统分析和设计(7.3)系统设计阶段和步骤.doc
- 《面向对象程序设计》第七章 面向对象的系统分析和设计(7.2)系统分析方法.doc
- 《面向对象程序设计》第七章 面向对象的系统分析和设计(7.1)面向对象系统分析和设计.doc
- 《面向对象程序设计》课程教学资源(讲义)面向对象方法学的基本原则.doc
- 《面向对象程序设计》第一章 面向对象技术概论(1.5)一个GIS的OOD模型实例.doc
- 《面向对象程序设计》第一章 面向对象技术概论(1.4)面向对象设计初步.doc
- 《面向对象程序设计》第一章 面向对象技术概论(1.3)面向对象的分析方法.doc
- 《面向对象程序设计》第一章 面向对象技术概论(1.2)面向对象的基本概念.doc
- 《面向对象程序设计》第一章 面向对象技术概论(1.1)引论.doc
- 《面向对象程序设计》第五章 继承性和派生类(5.1)类层次、数据抽象和模块化.doc
- 《面向对象程序设计》第五章 继承性和派生类(5.2)基类和派生类.doc
- 《面向对象程序设计》第五章 继承性和派生类(5.3)多重继承的设计.doc
- 《面向对象程序设计》第五章 继承性和派生类(5.4)继承性应用实例分析.doc
- 《面向对象程序设计》第五章 继承性和派生类(5.5)赋值兼容规则.doc
- 《面向对象程序设计》第八章 C++系统流库的I/O操纵算子(8.1)创建文件流.doc
- 《面向对象程序设计》第八章 C++系统流库的I/O操纵算子(8.2)创建内核流.doc
- 《面向对象程序设计》第八章 C++系统流库的I/O操纵算子(8.3)自定义的操纵算子.doc
- 《面向对象程序设计》第六章 多态性与虚函数(6.1)重载与程序的多态性设计.doc
- 《面向对象程序设计》第六章 多态性与虚函数(6.2)虚函数方法与多态机制.doc
- 《面向对象程序设计》第六章 多态性与虚函数(6.3)纯虚函数与同一协议的多版本.doc
- 《面向对象程序设计》第六章 多态性与虚函数(6.4)利用类库中虚函数进行多态程序设计.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.1)类的构造和创建.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.2)构造函数和析构函数.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.3)类构造的存储设计.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.4)类中类用法.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.5)类与对象的进一步用法.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.6)类与结构、联合的关系.doc
- 《面向对象程序设计》第四章 类与对象的构造设计(4.8)指向类成员的指针.doc
- 荆州职院:《平面广告设计》第二章 平面广告市场调查.ppt