C++的输入输出 I/O流控制

2023-07-28 21:39:59 浏览数 (2)

1.I/O

C 的输入输出cin和cout自己会识别基本的数据类型。

2.控制符

C 对于含小数的实数默认输出六位有效位,这显然不能满足我们的需要。

因此我们要用控制符控制输入输出。

头文件iomanip

控制符

用处

dec

输出十进制形式,默认

hex

输出十六进制形式

oct

输出八进制形式

setfill(c)

设定填充字符,默认空格

setprecision(n)

设定显示小数精度为n位

setw(n)

设定位宽

fixed

固定浮点型表示

scientific

指数表示

left

左对齐

right

右对齐

skipws

忽略前导空白

uppercase

十六进制大写

lowercase

十六进制小写,默认

3.控制小数位数

代码语言:javascript复制
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	double a=1234.567890125;
	cout<<setprecision(8)<<a<<endl;//输出1234.5678
	cout<<fixed<<a;//输出1234.56789013
}

从中可以知道单用setprecision(n)控制的是总数字数,默认是6位,如果要控制小数位,要与fixed合用。

4.设置位宽和填充字符

代码语言:javascript复制
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a=666;
	cout<<setw(6)<<a<<endl;//输出   666
	cout<<setfill('0')<<setw(6)<<a;//输出000666
}

setw用来控制显示的宽度,默认不足时填充空格,setfiil可以设置所要填充的字符。

5.输出八进制数和十六进制数

代码语言:javascript复制
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
	int a=666;
	cout<<dec<<a<<endl;//输出666
	cout<<oct<<a<<endl;//输出1232
	cout<<hex<<a<<endl;//输出29a
	cout<<hex<<uppercase<<a<<endl;//输出29A
}

0 人点赞