其他分享
首页 > 其他分享> > setw(),setfill() 和左右对齐 控制输出流的格式

setw(),setfill() 和左右对齐 控制输出流的格式

作者:互联网

头文件:

#include <iomanip>

setw():用来控制输出宽度的,括号里填写字符宽度。

例:setw(7)  设置了7个空格,但并不是说后面紧跟的输出内容不能超过7个字符。后面输出的内容不受setw()宽度的影响。

setfill():填充setw()中默认的空格。括号中可以自定义用什么去填充空格。 

例:setfill ( '+' )   这里是用 + 号填充。

如:

#include <iostream>
#include <iomanip>
using namespace std;

int main() {
	double values[] = { 1.23, 35.36, 653.7, 4358.24 };
	const char* names[] = { "Zoot", "asdfghj", "我吃瓜", "JaccStan" };
	for (int i = 0; i < 4; i++)
		cout << setfill('*') << setw(7) << names[i]
		<< setfill('+') << setw(10) << values[i] << endl;
}

 输出:

关于左右对齐:

由于输出流默认的是右对齐。如果想左对齐,在输出前加上 left ,如果想右对齐,在输出前加上 right 。因为是输出左右对齐,所以 left 和 right 的位置在setw()前后都一样。

如把上面for循环 改成如下:

for (int i = 0; i < 4; i++)
		cout << left << setfill('*') << setw(7) << names[i]
		<<right<< setfill('+') << setw(10) << values[i] << endl;

输出的就是前面的左对齐,后面的右对齐:

 

参考官方文档:https://docs.microsoft.com/en-us/cpp/standard-library/using-insertion-operators-and-controlling-format?view=msvc-160

标签:输出,int,setw,对齐,include,setfill
来源: https://blog.csdn.net/qq_43532141/article/details/110875835