1.一个I/O格式控制器只会影响当前正在处理的串流,串流结束后即返回c++预设;
2.I/O格式控制器是一个特殊的函式,在C++中常见的endl就是I/O格式控制器的一种,他会输出new line字元至串流中;
3.I/O格式控制器也可以指定参数,如果需要使用具有参数的I/O格式控制器,必须指定iomanip这个头文件,
例如:
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
cout << oct << 50 << endl // 8进制显示
<< hex << 50 << endl; // 16进制显示
// 九九乘法表
for(int j = 1; j < 10; j++) {
for(int i = 2; i < 10; i++) {
cout << i << "*" << j << "=" << dec << setw(2) << i*j;
cout << " ";
}
cout << endl;
}
return 0;
}
hex-16进制,dec-10进制,setw()设定位宽
true 和false可以直接输出为1和0但是如果采用boolalpha控制器,则可以输出为true和false来显示
#include <iostream>
#include <iomanip>
using namespace std;
int main() {
bool boolnum;
boolnum = true;
cout << boolalpha << boolnum << endl;
boolnum = false;
cout << boolalpha << boolnum << endl;
return 0;
}
其他的也列出来吧:
ends输出null字元;
fixed以正常的数字格式显示;
flush-清除串流;
left靠左对齐;
oct8进制显示;
right靠右对齐;
scientific科学记数法表示;
setbase(int b)指定数字基底;
setfill (int c)指定填充字元;
setprecision(int p)指定显示精确度;
showbase 显示数字基底,例如ox11;
showpoint 显示小数;
showpos正数显示+号
skipws忽略输入的空白字元
upperbase字母大写
ws忽略前导的空白字元
noboolalpha关闭boolalpha的使用
noshowbase关闭-^
noshowpoint关闭^
noshowpos关闭
noskipws关闭
noupperbase关闭^
打字还真累,呵呵,要系统而快速的学就要打打别人系统的笔记