put 无格式插入一个字节
write 无格式插入一字节序列
flush 刷新输出流
seekp 移动输出流指针
tellp 返回输出流中指定位置的指针值
left 输出数据在本域宽范围内左对齐
right 输出数据在本域宽范围内右对齐
dec 设置整数的基数为10
oct 设置整数的基数为8
hex 设置整数的基数为16
showpoint 浮点数输出时,强制显示小数点`
ios::left
用流对象的成员函数控制输出
#include <iostream>
using namespace std;
int main()
{
cout.setf(ios::left|ios::showpoint); //设左对齐,以一般实数方式显示
cout.precision(5); //设置除小数点外有效数字为5
cout<<123.456789<<endl;
cout.width(10); //设置显示区域宽10
cout.fill('*'); //在显示区域空白处用*填充
cout.unsetf(ios::left); //清除状态左对齐
cout.setf(ios::right); //设置右对齐
cout<<123.456789<<endl;
cout.setf(ios::left|ios::fixed); //设左对齐,以固定小数位数显示
cout.precision(3); //设置实数显示3位小数
cout<<999.123456<<endl;
cout.unsetf(ios::left|ios::fixed); //清除状态左对齐和定点格式
cout.setf(ios::left|ios::scientific); //设置左对齐,以科学计数法显示
cout.precision(3); //设置保留3位小数
cout<<123.45678<<endl;
return 0;
}
运行结果:
用C++控制符控制输出格式
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
int a=128;
cout<<"dec:"<<dec<<a<<endl;
cout<<"hex:"<<hex<<a<<endl; //以16进制形式输出
cout<<"oct:"<<oct<<a<<endl; //以8进制形式输出
char pt[]="xi'an";
cout<<setw(10)<<pt<<endl; //域宽为10,输出字符串
//指定域宽10,输出字符串,空白处以"*"填充
cout<<setfill('*')<<setw(10)<<pt<<endl;
double B=27.123456789;
//按指数形式输出,8位小数
cout<<setiosflags(ios::scientific)<<setprecision(8);
cout<<"B="<<B<<endl;
cout<<"B="<<setprecision(4)<<B<<endl; //4位小数
cout<<resetiosflags(ios::scientific); //清除格式设定
//改为小数形式输出,小数点后6位
cout<<"B="<<setiosflags(ios::fixed)<<setprecision(6)<<B;
cout<<endl;
return 0;
}
运行结果如下: