C++初学者指南 第十一篇(5)
来源:互联网 发布:租号玩软件下载 编辑:程序博客网 时间:2024/05/17 04:52
基本技能11.5:使用控制器来进行格式化输入和输出
C++的输入和输出系统提供了第二种可用于修改流格式参数的方法。这种方法使用到了特殊的函数,叫做控制器。这种控制器可用于输入/输出表达式中。表格11-1列出了标准的控制器。在使用需要参数的控制器的时候我们必须在程序中包括<iomanip>。
控制器
引入的目的
输入/输出
boolalpha
打开boolalpha标记开关
输入/输出
dec
打开dec标记开关
输入/输出
endl
输出一个换行字符并强制流输出数据
输出
ends
输出一个空字符('/0')
输出
fixed
打开fixed标记开关
输出
flush
强制输出流中的所有数据
输出
hex
打开hex标记开关
输入/输出
internal
打开internal标记开关
输出
left
打开left标记开关
输出
noboolalpha
关闭boolalpha标记开关
输入/输出
noshowbase
关闭showbase标记开关
输出
noshowpoint
关闭showpoint标记开关
输出
noshowpos
关闭showpos标记开关
输出
noskipws
关闭skipsw标记开关
输入
nounitbuf
关闭unitbuf标记开关
输出
nouppercase
关闭uppercase标记开关
输出
oct
打开oct标记
输入/输出
resetosflags(fmtflags f)
关闭f参数中指定的标记
输入/输出
right
打开right标记
输出
scientific
打开scientific标记
输出
setbase(int base)
设置整数的基数
输入/输出
setfill(int ch)
设置填充字符
输出
setiosflags(fmtflags f)
打开f参数中指定的标记开关
输入/输出
setprescision(int p)
设置小数的精度
输出
setw(int w)
设置宽度
输出
showbase()
打开showbase标记开关
输出
showpoint()
打开showpoint标记开关
输出
showpos
打开showpos标记开关
输出
skipws
打开skipws标记开关
输入
unitbuf
打开unitbuf标记开关
输出
uppercase
打开uppercase标记开关
输出
ws
跳过前导的空白字符
输入
表格11-1 C++中的输入/输出控制器
这些格式控制器通常是作为较大的输入/输出表达式的一部分来使用的。下面的程序就演示了如何使用上面提到的控制器来对输出格式进行控制:
//演示输入/输出控制器的使用#include <iostream>#include <iomanip>using namespace std;int main(){ cout << setprecision(2) << 1000.234 << endl; cout << setw(20) << "Hello there."; return 0;}
上面程序的输出如下:
1e+003
Hello there.
注意在上面程序中控制器是如何在输入输出的链式表达式中使用的。另外,当一个控制器不需要参数的时候,例如示例程序中的endl,其后面是不需要括号的。
下面的程序演示了使用setiosflags()来设置科学计数和现实符号标记
//演示setiosflags()#include<iostream>#include <iomanip>using namespace std;int main(){ cout << setiosflags(ios::showpos) << setiosflags(ios::scientific) << 123 << " " << 123.23; return 0;}
接下来的程序演示了如何在输入字符串的时候使用ws来跳过前导空白:
//跳过前导的空白#include <iostream>using namespace std;int main(){ char s[80]; cin >> ws >> s; cout << s; return 0;}
- C++初学者指南 第十一篇(5)
- C++初学者指南 第十一篇(1)
- C++初学者指南 第十一篇(2)
- C++初学者指南 第十一篇(3)
- c++初学者指南 第十一篇(4)
- C++初学者指南 第十一篇(6)
- C++初学者指南 第十一篇(7)
- C++初学者指南 第十一篇(8)
- C++初学者指南 第十一篇(9)
- C++初学者指南 第十一篇(10)
- C++初学者指南 第十一篇(11)
- C++初学者指南 第十一篇(12)
- C++初学者指南 第十一篇(13)
- C++初学者指南 第十一篇(14)
- C++初学者指南 第十篇(5)
- C++ 初学者指南 第一篇(5)
- C+++初学者指南+第六篇(5)
- C++:初学者的指南
- 基于Axis 1.4 部署WebService 笔记(三)
- Ubuntu下如何解压缩zip,tar,tar.gz,tar.bz2文件
- 超级喜欢CSDN
- glassfish2.1.1下载与安装
- 求教
- C++初学者指南 第十一篇(5)
- windows 下 eclipse 里面的 maven 配置
- web tchart sample solved
- Scribefire写CSDN的Blog
- 编译2.6内核
- 分页存储过程
- 黑马程序员Java培训、Android培训-Java 学习过程记录_JavaAPI-1
- 头文件之辩
- 弹出对话框