setw空格与setfill填充以及width

来源:互联网 发布:被网络诈骗了怎么办 编辑:程序博客网 时间:2024/05/16 08:11

在C++中,setw(int n)用来控制输出间隔。
例如:
cout<<'s'<<setw(8)<<'a'<<endl;
则在屏幕显示:
s        a
//s与a之间有7个空格,setw()只对其后面紧跟的输出产生作用,如上例中,表示'a'共占8个位置,不足的用空格填充。若输入的内容超过setw()设置的长度,则按实际长度输出。
setw()默认填充的内容为空格,可以setfill()配合使用设置其他字符填充。

cout<<setfill('*')<<setw(5)<<'a'<<endl;
则输出:
****a //4个*和字符a共占5个位置

两者作用是一样的,都是设定下一次输出输入宽度,但setw是操作子,而width是成员函数!
如:
const char *str1 = "hello";
const char *str2 = "world";

cout.width(10);
cout<<str1;
cout.width(10);
cout<<str2<<endl;

或者使用:
cout<<setw(10)<<str1<<setw(10)<<str2<<endl;
显然使用setw要更方便,不过要包含头文件:
#include <iomanip>

0 0
原创粉丝点击