C++输入输出的格式控制2
》对齐方式的控制
初始的对齐方式为右对齐,可以改变这一设置,使得输出采用左对齐方式或内部对齐方式。对齐方式的设置一直有效,直到再次设置对齐方式时为止。只有在设置了宽度的情况下,对齐操作才有意义。
有关操作符:
# left:在设定的宽度内左对齐输出,右端使用设定的填充字符填满。
等价函数调用:0.setf(ios_base::left,ios_base::adjustfield)
# right:(此为默认设置)在设定的宽度内右对齐输出,左端使用设定的填充字符填满。
等价函数调用:0.setf(ios_base::right,ios_base::adjustfield)
# internal:在设定的宽度内右对齐输出;但若有符号(-或+),符号置于最左端。
等价函数调用:0.setf(ios_base::internal,ios_base::adjustfield)
示 例:
cout<<setw(10)<<123<<"OK"<<endl;
cout<<left<<setw(10)<<123<<"OK"<<endl;
将输出:
123OK
123 OK
》小数点处理方式的控制
此设置只影响采用浮点格式输出的浮点数据。在初始状态下,若一浮点数的小数部分为0,则不输出小数点及小数点后的无效0;可以改变这一设置,使得在任何情况下都输出小数点及其后的无效0。小数点处理方式的设置一直有效,直到再次设置小数点处理方式时为止。
有关操作符:
# showpoint:即使小数部分为0,也输出小数点及其后的无效0。
等价函数调用:o.setf(ios_base::showpoint)
# noshowpoint:(此为默认设置)小数部分为0时不输出小数点。
等价函数调用:o.unsetf(ios_base::showpoint)
示 例:
cout<<723.0<<endl;
cout<<showpoint<<723.0<<endl;
将输出:
723
723.000
》填充字符的控制
在输出数据时,如果数据宽度小于设置的宽度,则空闲位置要用填充字符填满。初始填充字符为空格,可以将别的字符设置为填充字符。填充字符的设置一直有效,直到再次设置填充字符时为止。只有在设置了宽度的情况下,字符填充操作才有意义。
有关操作符:
# setfill(char c):设置填充字符
等价函数调用:io.fill(c)
函数返回此前设置的填充字符
示 例:
cout<<setw(10)<<12.34<<endl;
cout<<setfill('*')<<setw(10)<<12.34<<endl;
将输出:
12.34
*****12.34
》插入换行符
# endl:插入换行符(即‘\n’)并强制写缓冲区,实现输出的回车换行。
等价函数调用:o.put(o.widen('\n'));o.flush()
》输入输出数制状态的控制
初始状态为十进制,可以将之设置为八进制或十六进制。数制状态的设置一直有效,直到下一次设置为止。
有关的操作符:
# dec:(此为默认值)将整数按十进制输入输出。
等价函数调用:io.setf(ios_base::dec,ios_base::basefield)
# oct:将整数按八进制输入输出。
等价函数调用:io.setf(ios_base::oct,ios_base::basefield)
# hex:将整数按十六进制输入输出。
等价函数调用:io.setf(ios_base::hex,ios_base::basefield)
# setbase(int base):设置数制(8、10、16)
等价函数调用:io.setf(ios_base::oct,ios_base::basefield)等
# showbase:将输出的整数生成一个前缀,用以表示该数的数制:对于八进制数前面输出一个无效0;对于十六进制前面输出0x。
等价函数调用:o.setf(ios_base::showbase)
# noshowbase(此为默认设置)取消上述设置。
等价函数调用:o.unsetf(ios_base::uppercase)
示 例:
cout<<12<<'\t'<<oct<<9<<'\t'<<hex<<16<<'\t'<<dec<<10<<endl;
将输出:
12 11 10 10
C++输入输出的格式控制2相关推荐
- C++ I/O 流 格式控制(上)
在学习C++这么久以来,虽然一直使用着输入输出流,但是对它们却并没有进行系统的了解和学习.在最近,将它们的一些基本用法进行了一次简单的归纳. 使用ios类的成员函数进行格式控制 格式状态字 C++可以 ...
- C++流操纵算子(格式控制)
输入/输出的数据没有指定格式,它们都按缺省的格式输入/输出.然而,有时需要对数据格式进行控制.这时需利用ios类中定义的格式控制成员函数,通过调用它们来完成格式的设置. ios类的格式控制函数如下所示 ...
- C++ I/O流 格式控制(下)
使用I/O操作符进行格式控制 定义在iostream头文件中不带参数的操纵符 操纵符 作用 endl 输出时换行并刷新流 ends 输出时在字符串后插入空字符(NULL)作为尾符 flush 刷新,把 ...
- C++知识点16——使用C++标准库(IO流格式控制)
1.IO流的格式控制 1.1 指定整数值的进制 void setdatabase() {cout<<20<<'.'<<1024<<endl;cout&l ...
- C++输出流的格式控制
文章转自:http://hi.baidu.com/rocketxyf/blog/item/2562473114dbad17eac4af5a.html inline SMANIP(long) r ...
- PAT甲级1061 Dating:[C++题解]字符串处理(C语言格式控制牛逼!)
文章目录 题目分析 题目链接 题目分析 题意重述:四个字符串,前两个字符串是一组:求 日期和小时: 后两个字符串是一组:求分钟. 对于前两个字符串: 需要统计两次,位置相同并且是相同的字符. 第一个符 ...
- c语言如何输出无限小数,printf的格式控制(C语言)
printf的格式控制的完整格式: % - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少. ②-:有-表示左对齐输出,如省略表示右对齐输出. ...
- printf的格式控制的完整格式
printf的格式控制的完整格式 printf的格式控制的完整格式: % - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少. ②- ...
- C++ IO 格式控制
文章目录 1.流成员函数 2. 操纵符 3.自定义操纵符 参考文献 C 语言中,我们可以通过函数 printf() 和 scanf() 进行格式化控制,而在 C++ 中仍然可继续使用二者,但还提供了以 ...
最新文章
- dojo 学习笔记之dojo.query - query(id) 与query(class)的差别
- 如何在Amazon AWS上设置一台Linux服务器
- 将某内存单元数据做乘法 + 内存间数据的复制
- oracle 韩思捷_ORACLE数据库技术实用详解:教你如何成为10g OCP
- C语言-第21课 - 指针基础
- java对焦_相机的对焦与合焦
- 存储图片到数据库中的一个异常信息
- QQ恶搞 - 让艾特你的人语无伦次
- excel2latex表格竖线截断不连续不连贯问题一键解决
- 『 文件操作 』HTML文件转MD文件
- 工作流(activiti7)-简单的介绍和使用(一)
- 新计算机分区,全新的电脑怎么给新硬盘分区?
- win7系统如何映射服务器,教你win7系统映射网络驱动器的操作方法
- c语言iota函数,C++ iota函数用法详解
- R^n代表什么含义?
- VSCode 使用教程--编写调试C/C++程序
- 2017GYL创业营暨青年大会全球招募中
- [ZZ]变速齿轮作者的文章--绝杀反外挂方案
- malloc,vmalloc,kmalloc区别
- 数据可视化常用工具推荐