[学习笔记][C++Primer Plus]使用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; } | 
 
                    
                 
                
            
         
 浙公网安备 33010602011771号
浙公网安备 33010602011771号