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;
输出的就是前面的左对齐,后面的右对齐:
标签:输出,int,setw,对齐,include,setfill 来源: https://blog.csdn.net/qq_43532141/article/details/110875835