标签:输出 效果 fixed this tab 多少 har TBase for
输出输入流可以通过各种方式设置多种多样的格式化操作,给输出输入提供多种选项。
每种格式化将输出将通过两种方式进行描述,一种是操纵符,一种是成员函数。操作符一般在流中插入以进行格式化输出,成员函数则是通过对象调用起作用。
注意,流操纵符一般都在iomanip.h
中,而成员函数一般都在iostream.h
中。
整型数字的显示格式
int n = 100;
cout << dec << n << endl; //十进制
cout << oct << n << endl; //八进制
cout << hex << n << endl; //十六进制
cout << setbase(10) << n << endl; //通过参数来设置进制
100
144
64
100
cout << showbase; //调用显示基数
int n = 100;
cout << dec << n << endl;
cout << oct << n << endl;
cout << hex << n << endl;
cout << noshowbase; //重置设定
cout << hex << n << endl;
100
0144
0x64
64
浮点数显示的精度,一般默认是6,可设置
const int PI = 3.14159;
for (int i = 0; i < 6; i++)
cout << setprecision(i) << PI << endl; //设定显示精度
3
3.1
3.14
3.141
3.1415
3.14159
const int PI = 3.14159;
for (int i = 0; i < 6; i++){
cout.precision(i);
cout << PI << endl;
}
3
3.1
3.14
3.141
3.1415
3.14159
域宽也就是输出值所占的字符数或者是可以输入的最大字符数,如果输出的字符不够在左边用空格(默认)来凑
int widthValue = 4;
char sentence[10];
while (cin >> setw(5) >> sentence) { //设定每次输入最多5个字符
cout << setw(widthValue++) << sentence << endl;
}
This is a test of the width member function
This
is
a
test
of
the
widt
h
memb
er
func
tion
int widthValue = 4;
char sentence[10];
cin.width(5); //设置输入的宽度,即一次最多读入多少字符
while (cin >> sentence) {
cout.width(widthValue++); //设置输出的宽度
cout << sentence << endl;
cin.width(5); //需要注意的是,因为域宽的设置是不具备黏性的,所以需要一直设置
}
This is a test of the width member function
This
is
a
test
of
the
widt
h
memb
er
func
tion
输出字符的对齐方式
cout << left << 输出内容;
cout << right << 输出内容;
指定对齐域的填充字符,如果没有被指定,则使用空格符填充
cout << setfill(char c) << 输出内容;
cout.fill(char c);
cout << 输出内容;
流操纵符 | 适用流 | 描述 |
---|---|---|
skipws | 输入流 | 跳过输入流的空白字符,使用流操纵符noskipws重置设定 |
showpoint | 输出流 | 指明浮点数必须显示小数点即使全部是0,同长使用fixed流操纵符来确保小数点右边数组的位数,可以使用noshowpoint重置 |
showpos | 输出流 | 在正数前显示+,可以使用noshowpos重置 |
fixed | 输出流 | 以定点小数的形式显示浮点数,并指定小数点右边的位数 |
scientific | 输出流 | 以科学计数法的输出显示浮点数 |
uppercase | 输出流 | 指明当显示十六进制数时使用大写字母,可以使用nouppercase重置 |
标签:输出 效果 fixed this tab 多少 har TBase for
原文地址:https://www.cnblogs.com/Za-Ya-Hoo/p/12682906.html