》对齐方式的控制

初始的对齐方式为右对齐,可以改变这一设置,使得输出采用左对齐方式或内部对齐方式。对齐方式的设置一直有效,直到再次设置对齐方式时为止。只有在设置了宽度的情况下,对齐操作才有意义。

有关操作符:

# 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相关推荐

  1. C++ I/O 流 格式控制(上)

    在学习C++这么久以来,虽然一直使用着输入输出流,但是对它们却并没有进行系统的了解和学习.在最近,将它们的一些基本用法进行了一次简单的归纳. 使用ios类的成员函数进行格式控制 格式状态字 C++可以 ...

  2. C++流操纵算子(格式控制)

    输入/输出的数据没有指定格式,它们都按缺省的格式输入/输出.然而,有时需要对数据格式进行控制.这时需利用ios类中定义的格式控制成员函数,通过调用它们来完成格式的设置. ios类的格式控制函数如下所示 ...

  3. C++ I/O流 格式控制(下)

    使用I/O操作符进行格式控制 定义在iostream头文件中不带参数的操纵符 操纵符 作用 endl 输出时换行并刷新流 ends 输出时在字符串后插入空字符(NULL)作为尾符 flush 刷新,把 ...

  4. C++知识点16——使用C++标准库(IO流格式控制)

    1.IO流的格式控制 1.1 指定整数值的进制 void setdatabase() {cout<<20<<'.'<<1024<<endl;cout&l ...

  5. C++输出流的格式控制

    文章转自:http://hi.baidu.com/rocketxyf/blog/item/2562473114dbad17eac4af5a.html inline SMANIP(long)     r ...

  6. PAT甲级1061 Dating:[C++题解]字符串处理(C语言格式控制牛逼!)

    文章目录 题目分析 题目链接 题目分析 题意重述:四个字符串,前两个字符串是一组:求 日期和小时: 后两个字符串是一组:求分钟. 对于前两个字符串: 需要统计两次,位置相同并且是相同的字符. 第一个符 ...

  7. c语言如何输出无限小数,printf的格式控制(C语言)

    printf的格式控制的完整格式: % - 0 m.n l或h 格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少. ②-:有-表示左对齐输出,如省略表示右对齐输出. ...

  8. printf的格式控制的完整格式

    printf的格式控制的完整格式 printf的格式控制的完整格式: %  -  0  m.n  l或h  格式字符 下面对组成格式说明的各项加以说明: ①%:表示格式说明的起始符号,不可缺少. ②- ...

  9. C++ IO 格式控制

    文章目录 1.流成员函数 2. 操纵符 3.自定义操纵符 参考文献 C 语言中,我们可以通过函数 printf() 和 scanf() 进行格式化控制,而在 C++ 中仍然可继续使用二者,但还提供了以 ...

最新文章

  1. dojo 学习笔记之dojo.query - query(id) 与query(class)的差别
  2. 如何在Amazon AWS上设置一台Linux服务器
  3. 将某内存单元数据做乘法 + 内存间数据的复制
  4. oracle 韩思捷_ORACLE数据库技术实用详解:教你如何成为10g OCP
  5. C语言-第21课 - 指针基础
  6. java对焦_相机的对焦与合焦
  7. 存储图片到数据库中的一个异常信息
  8. QQ恶搞 - 让艾特你的人语无伦次
  9. excel2latex表格竖线截断不连续不连贯问题一键解决
  10. 『 文件操作 』HTML文件转MD文件
  11. 工作流(activiti7)-简单的介绍和使用(一)
  12. 新计算机分区,全新的电脑怎么给新硬盘分区?
  13. win7系统如何映射服务器,教你win7系统映射网络驱动器的操作方法
  14. c语言iota函数,C++ iota函数用法详解
  15. R^n代表什么含义?
  16. VSCode 使用教程--编写调试C/C++程序
  17. 2017GYL创业营暨青年大会全球招募中
  18. [ZZ]变速齿轮作者的文章--绝杀反外挂方案
  19. malloc,vmalloc,kmalloc区别
  20. 数据可视化常用工具推荐

热门文章

  1. AI经典书单:入门人工智能该读哪些书?
  2. IDEA翻译插件出现报错: 更新 TKK 失败,请检查网络连接解决
  3. MQTT连接阿里云IOT
  4. 【STL】C++ STL超全总结
  5. win7升级ie到ie10后打不开的解决办法
  6. vue 过滤器 首字母大写
  7. 笔记本电脑外接显示器完全攻略(图文说明)
  8. WMS 系统出入库理解
  9. 【python安装】错误——“User installations are disabled via policy on the machine”
  10. m4a批量转换成mp3的方法