您的位置:首页 > 编程语言 > C语言/C++

[学习笔记][C++Primer Plus]使用cout格式化输出字符串

2006-04-30 00:34 1231 查看
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;

}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐