标准IO流
来源:互联网 发布:linux jira安装及配置 编辑:程序博客网 时间:2024/05/22 03:46
Standard I/O Stream
C++的标准输入/输出库 iostream
不仅提供了I/O库,还提供了使用库的流模式
" cin>>"流入和 " cout<<"流出到输出设备的操作符
1.流状态 (Stream States)
1st showpos 在正数(含0)前显示 + 号
2nd showbase HEX前加 0X,OCT前加 0
3rd uppercase HEX里字母大写
4th showpoint 浮点输出即使小数点后都为0也加小数点
5th boolalpha 逻辑值用true false
6th left 左对齐
7th right 右对齐
8th dec 十进制表示整数
9th hex 十六进制
10 oct 八进制
11 fixed 定点数格式输出
12 scientific 科学记数法格式输出
2.取消流状态的操作
noshowpos noshowbase nouppercase noshowpoint noboolalpha
cout.unsetf(ios::scientific);
3.有参数的3个常用的流状态
width(int) //设置显示宽度
fill(char) //设置填充字符
precision(int) //设置有效位数
这些流状态是以 cout 捆绑调用他们的形式设置的,不能与流出符 << 连用
特别注意 width(n)为一次性操作,既第二次显示时将不再有效 default width(0)
example
cout.width(5);
cout.fill('S');
cout<<23<<23;
//SSS2323
4.与<<连用的设置方式
使用时,要包含头文件 iomanip
setw(int)
setfill(char)
setprecision(int)
example
cout<<setw(6)<<setfill('$')<<27<<endl; //输出:$$$$27
倒三角形例子
#include<iostream>
#include<iomanip>
using namespace std;
void main()
{
for(int n=1;n<=10;++n)
cout<<setfill(' ')<<setw(n)<<" "
<<setfill('M')<<setw(21-2*n)<<"M"<<endl;
}
另外使用string
#include<iostream>
#include<string>
using namespace std;
int main()
{
for(int n=1;n<=10;++n)
cout<<string(n,' ')+string(21-2*n,'M')+"/n"
}
加个例子 对精度设置的说明 在VC上测试过,主要是小数点右边位与总有效数字位的区别
//*********************
//** ch2_1.cpp **
//*********************
#include <iostream.h>
#include <iomanip.h> //要用到格式控制符
void main()
{
double amount = 1221122121.0/7;
cout <<amount <<endl;
cout <<setprecision(0) <<amount <<endl //0按1位理解,如果是负值 则输出最大长度
<<setprecision(1) <<amount <<endl
<<setprecision(2) <<amount <<endl
<<setprecision(3) <<amount <<endl
<<setprecision(4) <<amount <<endl;
cout <<setiosflags(ios::fixed);
cout <<setprecision(8) <<amount <<endl;//fixed 加上 setprecision设置小数点右边位数(8)
cout <<setiosflags(ios::scientific) //科学记数 有效位数(8)
<<amount <<endl;
//重新设置成原默认设置
}
- 标准IO流
- 标准io流
- c++标准IO流
- 流,标准IO,低级IO,缓冲区
- 第五章标准IO流
- 标准IO
- 标准IO
- 标准IO
- 标准IO
- 标准IO
- 标准IO
- 标准IO
- 标准io
- 标准IO
- 标准IO, 文件IO
- IO —— 标准输入流和标准输出流
- 18、IO流-标准输入输出流
- IO流之标准输入输出流
- prototype(原型)
- Oracle中的decode
- 好书推荐
- 使用spring2..5的quartz定时发送邮件(邮件发送采用Apache-common)
- Javascript 刷新框架及页面的方法总集
- 标准IO流
- 人脸检测(转)
- android源码的下载和编译,需要安装的库
- Rails 数据库操作
- FCK的使用和设置
- 正则表达式与批量替换工具
- 怎样在VS2005中添加Flash控件
- ruby on rails 一步步开始(2)分页和简单查询
- 编译libjpeg库,jpeg-6b编译错误