cout输出的常用的一些格式

使用cout格式化输出字符串 收藏
 
/********************************************************************

    created:    2006/04/29

    created:    29:4:2006   23:33

    filename:   e:/work/C++/输入输出和文件/CoutFormatSample.cpp

    file path:  e:/work/C++/输入输出和文件

    file base:  CoutFormatSample

    file ext:   cpp

    author:     xuzhong

  

    purpose:  

*********************************************************************/

 

#include "StdAfx.h"

#include "./coutformatsample.h"

 

using namespace std;

 

// public

CCoutFormatSample::CCoutFormatSample(void)

{

}

 

CCoutFormatSample::~CCoutFormatSample(void)

{

}

 

 

void CCoutFormatSample::Run(void)

{

    this->P_17_3();

    this->P_17_4();

    this->P_17_5();

    this->P_17_6();

    this->P_17_7();

    this->P_17_8();

}

 

 

 

// private

 

// 例子在 P615 。修改显示时使用的计数系统

void CCoutFormatSample::P_17_3(void)

{

    cout << _T(" 17.3 修改显示时使用的计数系统") << endl << endl;

    cout << "Enter an integer : ";

    int n;

    // cin >> n;

    n = 255;

 

    dec(cout);              // cout << dec;

    cout << "dec : " << n << endl;

 

    oct(cout);              // cout << oct;

    cout << "oct : " << n << endl;

 

    hex(cout);              // cout << hex ;

    cout << "hex : " << n << endl;

 

    dec(cout);              // 不要影响其它人

 

    cout << endl << endl;

}

 

 

void CCoutFormatSample::P_17_4(void)

{

    cout << _T(" 17.4 调整字段宽度") << endl << endl;

 

    int w = cout.width(30);

    cout << "default field width = " << w << ":" << endl;

    cout.width(5);

    cout << "N" << ": ";

    cout.width(8);

    cout << "N * N" << ":" << endl;

 

    for(long i=1; i<=100; i*=10)

    {

        cout.width(5);

        cout << i << ": ";

        cout.width(8);

        cout << i * i << ":" << endl;

    }

 

    cout.width();

 

    cout << endl << endl;

}

 

 

// cout.fill的用法

void CCoutFormatSample::P_17_5(void)

{

    cout << _T(" 17.5 填充字符") << endl << endl;

    cout.fill('*');

 

    int w = cout.width(30);

    cout.width(5);

    cout << "N" << ": ";

    cout.width(8);

    cout << "N * N" << ":" << endl;

 

    for(long i=1; i<=100; i*=10)

    {

        cout.width(5);

        cout << i << ": ";

        cout.width(8);

        cout << i * i << ":" << endl;

    }

 

    cout.width();

 

 

    cout << endl << endl;

}

 

 

// cout.precision

void CCoutFormatSample::P_17_6(void)

{

    cout << _T(" 17.6 设置浮点数的显示精度") << endl << endl;

    float f1 = 23.3232;

    float f2 = 1.9 + 8.0 / 9.0;

 

    cout << "f1 = " << f1 << endl;

    cout << "f2 = " << f2 << endl;

 

    // 设置精度为2

    cout.precision(2);

 

    cout << "f1 = " << f1 << endl;

    cout << "f2 = " << f2 << endl;

 

    // 解除设定

    cout.precision();

    cout << endl << endl;

}

 

// cout.setf

void CCoutFormatSample::P_17_7(void)

{

    cout << _T(" 17.7 设置精度为2打印末位的0和小数点") << endl << endl;

    float f1 = 23.3232;

    float f2 = 1.9 + 8.0 / 9.0;

 

    cout << "f1 = " << f1 << endl;

    cout << "f2 = " << f2 << endl;

 

    // 设置精度为2打印末位的0和小数点

    cout.setf(ios_base::showpoint);

 

    cout << "f1 = " << f1 << endl;

    cout << "f2 = " << f2 << endl;

 

    // 解除设定

    cout.setf(ios_base::unitbuf);

    cout << endl << endl;

}

 

 

// cout.setf 高级用法

void CCoutFormatSample::P_17_8()

{

 

    cout << _T(" 17.7 setf 高级用法") << endl << endl;

 

    cout.setf(ios_base::showpos);

    cout << 63 << endl;

    cout.setf(ios_base::uppercase);

    cout << "A string" << endl;

    cout.setf(ios_base::showbase);

    cout << 437 << endl;

    cout.setf(ios_base::boolalpha);

    cout << true << endl;

    cout << false << endl;

 

    cout << endl << endl;

 

}

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/LuoChonG1987/archive/2008/12/16/3531957.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值