setw()函数以及setfill()函数用法

setw()函数仅对<<后的输出数据有效

setfill()函数则是跟在setw后面填充相应的空位(默认是空格)

1)

例如:

#include 
using namespace std;
#include 
int n;
extern void display();
int main()
{
	cout <<123<< setw(15) << setfill('#') << 123;      

	system("pause");
}

  运行结果为:123############123

即用#填充位数加上后面的数字组成15位。可以理解为, 输出格式为 三部分组成:setw(),setfill(),xx||"xx"。

*注:setfill("#”)跟上setw()函数#才有输出结果。且setw()只能一次有效,setfill则永久有效,直到遇到下一个setfill();

例:

       将上面输出语句改为:

       cout <

运行结果为:123############123#######456     此时并没有*输出。

 

2)

cout << setw(10) << setfill('#') <

运行结果为:123#######   (个人理解,输出左对齐123的优先级高于输出填充部分,当然这只是相对于只有一行用于对齐的代码)

若改为

cout << setw(10) << setfill('#') <

则结果为:#######123      

你可能感兴趣的:(C++输出格式)