当前位置 博文首页 > Keven_11的博客:C++笔记:设置域宽setw();
如果想将输出的“1”占2个域宽,很简单:cout<<" 1"<<endl;但如果题目要求你“1”占101个域宽勒?
什么是域宽嘞?
域宽,即字符(或字符串)所占有的空格。如让1占两个域宽(注意看下面1所在的位置,其前面空了一个空格):
1
#include<iostream>
#include<iomanip>//1
using namespace std;
int main(){
int n;
cout<<"请输入你字符1的域宽";
cin>>n;
cout<<setw(n)<<"1"<<endl;//2
return 0;
}
1.这里是一个头文件,设置域宽(setw())要调用此,否则程序或出错哦~
2.setw( )是设置域宽,如例子中若n是3,则会输出 1,1前空了n-1个空格,即2个空格。
setw()只对紧接着的输出有效,紧接着的输出结束后又变回默认的域宽。
当后面紧跟着的输出字段长度小于n的时候,在该字段前面用空格补齐;当输出字段长度大于n时,全部整体输出。
举一个例子:
#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
cout << setw(3) << 1 << 1234 << endl;
cout << 1234 << setw(7) << 1234 << 12345 << endl;
cout << 1234 << setw(3) << 12345 << endl;
cout << 1234 << setw(4) << 123456 << 12 << setw(5) << 123 << endl;
return 0;
}
运行结果如下,注意看空格: