标准输出流

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; 
}

运行结果如下:
标准输出流

上一篇:2014预赛第一题


下一篇:标准输入流