Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6538
  • 博文数量: 5
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 60
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-18 16:12
文章分类
文章存档

2010年(5)

我的朋友
最近访客

分类: C/C++

2010-08-11 00:29:09

在网上和书上找了一些关于流操作的东西,整理了一下,有时间自己多看看

#include

#include

 

using namespace std;

 

const double   d1 = 1.23456789;

const double   d2 = 12.3456789;

const double   d3 = 123.456789;

const double   d4 = 1234.56789;

const double   d5 = 12345.6789;

const long      l1 = 16;

const long      l2 = 256;

const long      l3 = 1024;

const long      l4 = 4096;

const long      l5 = 65536;

int         base = 10;

 

void DisplayDefault( )

{

   cout << endl << "default display" << endl;

   cout << "d1 = " << d1 << endl;

   cout << "d2 = " << d2 << endl;

   cout << "d3 = " << d3 << endl;

   cout << "d4 = " << d4 << endl;

   cout << "d5 = " << d5 << endl;

}

 

void DisplayWidth( int n )

{

   cout << endl << "fixed width display set to " << n << ".\n";

   cout << "d1 = " << setw(n) << d1 << endl;

   cout << "d2 = " << setw(n) << d2 << endl;

   cout << "d3 = " << setw(n) << d3 << endl;

   cout << "d4 = " << setw(n) << d4 << endl;

   cout << "d5 = " << setw(n) << d5 << endl;

}

 

void DisplayLongs( )

{

   cout << setbase(10);

   cout << endl << "setbase(" << base << ")" << endl;

   cout << setbase(base);

   cout << "l1 = " << l1 << endl;

   cout << "l2 = " << l2 << endl;

   cout << "l3 = " << l3 << endl;

   cout << "l4 = " << l4 << endl;

   cout << "l5 = " << l5 << endl;

}

 

int main( int argc, char* argv[] )

{

   //以默认格式输出,C++默认输出六位有效数据

   DisplayDefault( );

   //使用setprecision(n)可控制输出流显示浮点数的数字个数

   cout << endl << "setprecision(" << 3 << ")" << setprecision(3);

   DisplayDefault( );

 

   cout << endl << "setprecision(" << 12 << ")" << setprecision(12);

   DisplayDefault( );

   //如果setprecision(n)setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数

   //setiosflags(ios::fixed)是用定点方式表示实数

   //如果与setiosnags(ios::scientific)合用, 可以控制指数表示法的小数位数

   cout << setiosflags(ios_base::scientific);

   cout << endl << "setiosflags(" << ios_base::scientific << ")";

   DisplayDefault( );

 

   cout << resetiosflags(ios_base::scientific);

   cout << endl << "resetiosflags(" << ios_base::scientific << ")";

   DisplayDefault( );

 

   cout << endl << "setfill('" << 'S' << "')" << setfill('S');

   DisplayWidth(15);

   DisplayDefault( );

   //setw(n)用法: 通俗地讲就是预设宽度

   //setfill(char c) 用法 : 就是在预设宽度中如果已存在没用完的宽度大小,则用设置的字符c填充

   cout << endl << "setfill('" << ' ' << "')" << setfill(' ');

   DisplayWidth(15);

   DisplayDefault( );

   //setbase(int n) : 将数字转换为 n 进制

   cout << endl << "setprecision(" << 8 << ")" << setprecision(8);

   DisplayWidth(10);

   DisplayDefault( );

   //以十六进制输出

   base = 16;

   DisplayLongs( );

   //以八进制输出      

   base = 8;

   DisplayLongs( );

   //以十进制输出

   base = 10;

   DisplayLongs( );

 

   return   0;

}

 

 

**这些用法前最好用

#include     //不要用iostream.h ,会出现好多问题

#include // io 流控制头文件, 主要是一些操纵用法如setw(int n),setprecision(int n)

                                //,setbase(int   n),setfill(char c).

setw(n)用法: 通俗地讲就是预设宽度

cout<;

结果是:

(空格)(空格)255

setfill(char c) 用法 : 就是在预设宽度中如果已存在没用完的宽度大小,则用设置的字符c填充

cout<;

结果是:

@@255

setbase(int n) : 将数字转换为 n 进制.

cout<

     cout<

    cout<

结果是:

(空格)(空格)377

(空格)(空格) 255

(空格)(空格) f f

setprecision用法

使用setprecision(n)可控制输出流显示浮点数的数字个数。C++默认的流输出数值有效位是6
如果setprecision(n)setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。setiosflags(ios::fixed)是用定点方式表示实数。

如果与setiosnags(ios::scientific)合用, 可以控制指数表示法的小数位数。setiosflags(ios::scientific)是用指数方式表示实数。

 

阅读(759) | 评论(0) | 转发(0) |
0

上一篇:《C程序设计语言》读书笔记1

下一篇:没有了

给主人留下些什么吧!~~