left和right控制后面符号的位置,left使其靠左,right使其后右。
本人电脑上例子截图:
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
cout << setfill('*') << left << 'a' << setw(3) << 'b' << endl;
cout << setfill('*')<<right << 'a' << setw(3) << 'b' << endl;
cout << setfill('*') << 'a' << left << setw(3) << 'b' << endl;
cout << setfill('*') << 'a' << right << setw(3) << 'b' << endl;
system("pause");
return 0;
}
解释:使用setw()函数要用#include<iomanip> setw()函数会设置其后面字符的位置空间大小,如setw(3) 会设置其宽度为3个字节
第一行:设置填充符号为'*' 设置为左对齐,因为字符‘a’就占一个字节所以就直接输出了,然后字符‘b’,设置字符宽度为3个字节,且前面设置为左对齐,所以会将设置3个字节的位置输出b**
第二行:设置填充符号为'*' 设置为右对齐,因为字符‘a’就占一个字节所以就直接输出了,然后字符‘b’,设置字符宽度为3个字节,且前面设置为右对齐,所以会将设置3个字节的位置输出**b
第三行:设置填充符号为'*' 因为字符‘a’就占一个字节所以就直接输出了,设置为左对齐,然后设置字符'b'宽度为3个字节,且前面设置为左对齐,所以会将设置3个字节的位置输出b**
第四行:设置填充符号为'*' 因为字符‘a’就占一个字节所以就直接输出了,设置为右对齐,然后设置字符'b'宽度为3个字节,且前面设置为右对齐,所以会将设置3个字节的位置输出**b