转:http://blog.csdn.net/ouczoe/article/details/4923413
输入输出流在<iostream>中定义,并且在这个头文件中还声明了标准控制台输出流cout
包含控制符的头文件:标准头文件<ios> 和 <iomanip>
输出流:
boolalpha 和 noboolalpha: 通知输出流将bool输出为true和FALSE(boolalpha)或者1和0(noboolalpha)。默认为noboolalpha.
hex,oct,dec:分别以16进制、8进制、10进制输出数字。
setprecision:设置输出小数时的小数位数(小数点后有几位)。比如,setprecision(5)--取小数点后5位。
setw: 设置输出数值数据时的字段宽度。e.g. setw(5).
setfill: 当数字宽度小于制定宽度的时候,该控制符可以制定填充空位的字符。setfill(‘a‘).
Showpoint和nonshowpoint: 对于没有小数部分的浮点数或者双精度数,这个控制符强制流总是显示小数或者不显示小数。
endl:封装数据和行为。通知流数输出一个回车并且刷新输出其缓冲区。
以上这些控制符均写在需要作用的输出参数的前面,比如cout<<setw(7)<<setfill(‘&‘)<<variable<<endl;
e.g. #include<iostream>
#include<iomanip>
using namespace std;
int main(int argc, char** argv)
{
bool testB = true;
cout<<"this is a testing of bool"<<boolalpha<<testB<<endl;
}
输入流:
boolalpha 和 noboolalpha: 将字符串true,false解释为布尔型的true和false进行输入保存(boolalpha)。noboolalpha不会这样解释。默认为noboolalpha.
hex,oct,dec:分别以16进制、8进制、10进制读取数字。
skipwa和noskipwa:通知流在做词法分析的时候忽略空白符或者把空白符读入作为一个空白符的token。
ws:遍历控制符。忽略流中当前位置上的一串空白。