



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、c+格式标识和操纵器java教程c+格式标识和操纵器在我们设计程序时,我们通常需要将输出数据以某种格式显示出來,例如我们希望将时间显 示为“dd:dd:dd”的形式,如此一来我们就需要借助格式标识符来控制cout对象的输出格式。 在ios_base类中,系统己经定义了很多格式标识符,通过这些标识符,我们可以很好地进行 格式化控制,具体见下表。除此z外,ios_base类中还定义有width 11 precision等函数,这 些函数同样可以辅助我们进行格式化控制。格式标识符用途boolalphadec以true和false的形式读写bool类型变最 以十进制的方式进行读写oct以八进制的方式进
2、行读写hex以十六进制的方式进行读写internal放在正负号或基数标识之后left左对齐rightfixed右对齐以定点方式表示浮点数scientific用科学计数法表示浮点数showbase输出时显示基数showpoint showpos skipws unitbuf必须显示小数点对非负数显示+号忽略空格写操作完成后清扫所有的缓冲区uppercase adjustfield basefield floatfield用大写字母衣不十六进制格式标识必须是left> right或internal 格式标识必须是dec> oct或hex格式标识必须是scientific或fixed有了
3、表中所列标识符我们确实町以进行格式控制,但是除了能够直接调用这些格式标识符z 外,我们可以借助类屮提供的成员函数,具体成员函数见下表。成员函数flags。flags( val)setf (val)setf ( val, ios_base:basefield )用途返冋当前的格式标识将格式标识设置为val,并返回山值将val设置为当前的格式标识,并返回旧的格式 标识将val设迸为当前的格式标识,并返回旧的格式标识,且要求 val 为 iso_base:dec> ios_base:hex 或 ios_base:oct 三者之一将val设置为当前的格式标识,并返冋i口的格式 setf (val
4、, ios_base:adjustfield)标识,且耍求 val 为 iso_base:left、setf (ios_base:scientific,ios_base:floatfield)setf (ios_base:fixed, ios_base:floatfield )setf ( 0, ios_base:floatfield ) unsetf (val)ios_base:internal 或 ios_base:right 三者z setf (ios_base:internal, ios_base:adjustfield )在符号与数据之间填充字符,并返回旧标识设置科学计数法并返回ih
5、标识设置定点计数法并返回心标识设置默认浮点数表示法并返回旧标识清楚指泄的标识并返冋i 口标识这些函数都是ios_base类的成员函数,可以通过对象直接调用,而cout是basic_ostream的 个对象,basic_ostream继承口 ios_base,因此cout nj"以调用这些函数。例1:#include<iostrcani>using namespace std;int main()ios base:fmtflags old val = cout. flags( ios base:left ios_base:hex |ios base:uppercase |
6、ios base:showbase );for( int i 二 100; i < 150; i + ) cout << i << endl;cout<<endl<<endl;cout. unsetf ( ios_base:left | ios_base:hex iosbase:uppercase );cout. setf ( old_val );for( int i = 100; i < 150; i + ) cout << i << endl;cout<<endl<<endl;cou
7、t. unsetf( old_val );cout. setf ( ios_base:hex | ios_base:uppercase ); cout << " hex " << 170 << endl;cout. unsetf( ios base:hex | ios base:uppercase ); cout setf ( ios_base:oct );cout << " oct " << 170 << endl;cout. unsetf( ios_base:oct );cout
8、setf ( ios_base:dec ); cout « dec « 170 « endl;return 0;本例中我们先调用flags函数设置输出格式,格式设置为左对齐和大写的i六进制,z后我 们将100-149的数字全部输出,输出完之后我们将刚才设置的格式全部取消,然后重新设置 为原始的格式old.val,再将数字100149的数字重新输岀一遍。之后我们演示的是将170 按照十六进制、八进制和十进制的形式输出。在整个程序屮由于我们一开始设置了 ios_base:showbase,即显示基数,基数的意思就是说 在十六进制前加上ox,在八进制前加上0,十进制则不
9、作处理。我们一开始设置了 ios_base:showbase后,一直没有収消设置,因此在整个程序输出过程中一直都是加上了基 数。出现这种情况也是我们要注意的,一旦格式设置完成,则会一直保持格式,除非取消格 式,因此在设置新格式前最好将原有设置的格式都取消。例2:#include<iostream>using namespace std;int main()cout. width ( 6 );cout << too << endl ;cout.setf( ios_base:left , ios_base:adjustfield);cout width ( 6
10、);cout << -100 << endl;cout.unsetf( ios_base:left );cout.setf( ios_base:right , ios_base:adjustfield);cout width ( 6 );cout << -100 << endl;cout. unsetf( ios_base:right );return 0;在本例屮我们调用成员函数width控制输出的宽度为6个字符的位置,之后我们分别设直左 对齐和右对齐,然后输出-100。从上而程序中我们可以看出默认是采用右对齐的方式输出的。当然,这些格式化控制
11、除了可以使用格式标识来控制外,我们还可以使用操纵器来控制,下 面我们來简单了解一下操纵器。操作器其本质是两数,它可以直接改变流的格式。例3:cout«hex«uppercasehexcout«oct« oct «170«cout«dec« dec «170«” « 170 « endl; endl;endl ;木例中hex、oct、dec和叩pcrcasc都是操纵器,它可以与输入或输出操作符一起使用。c+标准库中预定义了一些操纵器,使用其中带参数的操纵器则需要包含头文件iomanip, 下标中列出了 一些带参数的操纵器。格式标识符作用对象功能basic_ostream设置精度为n basic_ostream设置域宽为n ios_base设置指定的标识ios_base清斃指定的标识setbase( int n )
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冠心病康复护理宣教
- 高中物理圆周运动课件-2024-2025学年高一下学期物理人教版(2019)必修第二册
- 气候变化化学指标-洞察及研究
- 中医药专业培训大纲
- 湖北第二师范学院《国际货运与保险》2023-2024学年第一学期期末试卷
- 浙江舟山群岛新区旅游与健康职业学院《风景园林遗产保护与管理》2023-2024学年第一学期期末试卷
- 儿童福利政策评估-第1篇-洞察及研究
- 石膏固定术常见并发症护理
- 理科实验能力与学生科学素养关系的实证分析
- 恐龙化石儿童手工课件
- 指定监护人申请书范本
- uni-app移动应用开发课件 7-智慧环保项目
- 产前筛查相关工作规章规章制度
- 小学生手工剪纸课件
- 中药结肠透析治疗慢性肾衰竭的技术规范
- 抹灰施工人员培训方案
- 医院安全生产隐患排查奖励制度
- 2024年广东省广州市中考英语真题卷及答案解析
- 高中生物(部编版)选择性必修3知识清单(问答版)
- 手术体位摆放原则及注意事项
- 自然灾害应急演练方案及流程
评论
0/150
提交评论