格式化输入输出

本文介绍了使用C++进行IO流格式控制的方法,包括布尔值显示、进制转换、精度控制、显示格式调整及对齐填充等。通过具体示例展示了如何灵活运用各种IO流控制标志来美化输出。
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;

int main()
{
    cout<<"default bool values: "<<true<<" "<<false<<"\nalpha bool value: "<<boolalpha<<true<<" "<<false<<endl;
    cout<<noboolalpha<<endl;
    cout<<"default: "<<20<<" "<<1924<<endl;
    cout<<"octal: "<<oct<<20<<" "<<1024<<endl;
    cout<<"hex: "<<hex<<20<<" "<<1024<<endl;
    cout<<"decimal: "<<dec<<20<<" "<<1024<<endl;
    cout<<endl;
    cout<<showbase;
    cout<<uppercase<<"default: "<<20<<" "<<1924<<endl;
    cout<<uppercase<<"octal: "<<oct<<20<<" "<<1024<<endl;
    cout<<uppercase<<"hex: "<<hex<<20<<" "<<1024<<endl;
    cout<<uppercase<<"decimal: "<<dec<<20<<" "<<1024<<endl;
    cout<<nouppercase<<noshowbase;
    cout<<showbase<<"hex: "<<hex<<20<<" "<<1024<<noshowbase<<endl;
    cout<<dec;
    cout<<endl;
    cout<<"precision: "<<cout.precision()<<",Value: "<<sqrt(2.0)<<endl;
    cout.precision(12);
    cout<<"precision: "<<cout.precision()<<",Value: "<<sqrt(2.0)<<endl;
    cout<<setprecision(3);
    cout<<"precision: "<<cout.precision()<<",Value: "<<sqrt(2.0)<<endl;
    cout<<"default format: "<<100*sqrt(2.0)<<'\n'
        <<"scientific: "<<scientific<<100*sqrt(2.0)<<'\n'
        <<"fixed decimal: "<<fixed<<100*sqrt(2.0)<<'\n';
       // <<"hexadecimal: "<<std::hexfloat<<100*sqrt(2.0)<<'\n'
        //<<"use defaults: "<<defaultfloat<<100*sqrt(2.0)<<"\n\n"
    cout<<endl;
    int i=-16;
    double d=3.14159;
    cout<<"i: "<<setw(12)<<i<<"next col"<<'\n'
        <<"d: "<<setw(12)<<d<<"next col"<<'\n';
    cout<<left
        <<"i: "<<setw(12)<<i<<"next col"<<'\n'
        <<"d: "<<setw(12)<<d<<"next col"<<'\n'
        <<right;
    cout<<right
        <<"i: "<<setw(12)<<i<<"next col"<<'\n'
        <<"d: "<<setw(12)<<d<<"next col"<<'\n';
    cout<<internal
        <<"i: "<<setw(12)<<i<<"next col"<<'\n'
        <<"d: "<<setw(12)<<d<<"next col"<<'\n';
    cout<<setfill('#')
        <<"i: "<<setw(12)<<i<<"next col"<<'\n'
        <<"d: "<<setw(12)<<d<<"next col"<<'\n'
        <<setfill(' ');
    char ch;
    cin>>noskipws;
    while(cin>>ch)
        cout<<ch;
    cin>>skipws;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值