登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

面包会有的

... ...

 
 
 

日志

 
 

输入输出流   

2008-05-16 08:55:59|  分类: VC++ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

 

 在C++中把数据的I/O称为数据流,并提供了强大的"流"处理功能,以控制数据从一个位置流向另外一个位置。相对于内存,当数据从内存流向屏幕、打印机或硬盘时称为输出;当数据从键盘、硬盘流向内存时称为输入。C++用两个对象cin和cout实现标准的输入输出。

 cin:它是istream类的对象,用来处理标准输入,即键盘输入。

 cout:它是ostream类的对象,用来处理标准输出,即屏幕输出。

  在C++中用istream类和ostream类的派生类iostream控制输入输出,并提供了输入和输出操作符。

<<称为插入操作符,其作用是向cout流中插入字符。

>>称为抽取操作符,其作用是从cin流中提取字符。

在此简单介绍一下屏幕的输入输出方法。

输入输出流  - wmnmtm -  .1、使用提取符实现键盘输入

格式如下:

 cin >> <表达式> >> <表达式>...;

这里抽取符可连续使用,后跟表达式,表达式通常是获得输入值的变量或对象。

例如:int a,b;

 cin >>a >>b;

输入输出流  - wmnmtm -  .说明:从键盘上输入数值时两个值之间一般用空格分隔,也可以用tab键或换行符。


控制输出格式

 实例 (五个)

例1:输出8进制和16进制数

  常量dec、hex和oct用来控制必须按10进制、16进制或8进制形式输出。

 #include <iostream.h>

 void main( )

 {

  int number=1234;

   cout <<"Decimal:"<<dec<<number<<endl

   <<"Hexadecimal:"<<hex<<number<<" "<<number*number<<endl

   <<"Octal:"<<oct<<number<<" "<<number*number<<endl;

 }

 结果为:

 Decimal:1234

 Hexadecimal:4d2 173c44

 Octal:2322 5636104

 注意:由于这三个标识符已经被定义为系统常量,注意不能在定义为其他变量使用。

例2:设置值的输出宽度

  函数setw(n)用来控制输出宽度,如果数据实际宽度大于设置宽度,将按实际宽读输出;如果设置宽度大于实际输出宽度,数据输出时将在前面补相应数量的空格。另外,该控制符只对一次输出起作用。

 #include <iostream.h>

 #include <iomanip.h>

 void main( )

 {

  int number=1234;

  cout <<setw(3)<<number<<setw(10)<<number*number<<endl;

 }

 输出结果为:

 1234_ _ _1522756

例3: 设置填充字符

 setfill(c)函数用来设置填充的字符,默认情况下为空格。

 #include <iostream.h>

 #include <iomanip.h>

 void main( )

 {

  int number=1234;

  cout <<setfill('$')

  <<setw(6)<<number

  <<setw(8)<<number*number<<endl ;

 }

 输出$$1234$1522756

例4: 设置对齐格式

  函数setiosflags(ios::left)和setiosflags(ios::right)用来控制输出左右对齐格式。当数据实际宽度小于输出宽度时该控制才起作用。默认情况下数据输出是右对齐。

 #include <iostream.h>

 #include <iomanip.h>

 void main( )

 {

  int number=1234;

  cout <<setfill('$')<<setiosflags(ios::left)

  <<setw(6)<<number

  <<setw(8)<<number*number<<endl ;

 }

 输出1234$$1522756$

例5: 控制浮点数显示

  函数setprecision(n)可用来控制输出流显示浮点数的数字个数(整数部分加小数部分)。c++默认的流输出数值的有效位是6。当小数截短显示时,进行四舍五入处理。

  函数setflags(ios::fixed)用来控制符点数是按纯小数方式显示,函数setflags(ios::scientific)用来控制符点数是按科学记数法方式显示。系统默认为纯小数方式输出。

  函数setiosflags(ios::showpoint) 用来强制显示小数点和符号。

 #include <iostream.h>

 #include <iomanip.h>

 void main( )

 {

  float x=20.0/7; y=18.0/6;

  cout<<x<<endl;

  cout<<setiosflags(ios::scientific)<<x<<endl;

  cout<<setprecision(18)<<x<<endl;

  cout<<setiosflags(ios::fixed)<<x<<endl;

  cout<<setprecision(0)<<x<<endl;

  cout<<setprecision(6)<<y<<endl;

  cout<<setiosflags(ios::showpoint)<<y<<endl;

 }

 输出结果为:

 2.85714 (默认6位,整数部分加小数部分)

 2.857143e+000 (默认6位,指小数部分)

 2.857142857142857e+000 (double型最多15位)

 2.85714285714286 (double型有效位最多15位,整数部分加小数部分)

 3 ( 无小数位)

 3 (默认0不输出)

 3.00000 (强制输出0)

  评论这张
 
阅读(644)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018