C++中setw()是什么意思?

2024-10-30 21:55:15
推荐回答(5个)
回答1:

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

cout<则输出:
****a //4个*和字符a共占5个位置。

回答2:

setw(int n)只是对直接跟在<<后的输出数据起作用,而在之后的<<需要在之前再一次使用setw;(Sets the number of characters to be used as the field width for the next insertion operation.)

n是在输出时分配了n个字符的输出宽度,然后默认的是在n个字符宽度中右对齐输出,可以使用setiosflags(iOS::left)设置为左对齐输出,可以使用setfill('char x')使用x来填充空下的空格;示例如下。(同学推荐了一个不错的网站,cplusplus.com在其中直接搜索iomanip之后就可以查到在这个头文件中包含的所有成员函数)

#include
#include
using namespace std;

void main(){
cout << setw(10) << setiosflags(ios::left) <cout << setw(10) << setiosflags(ios::right) <cout << setw(10) << setfill('*') << 10 << endl;

//使用以下这种形式来调用显得更加整齐并简洁 

int a=10;
int b=20;
cout.setf(ios::right,ios::adjustfield);
cout.fill('0');
cout << setw(5) << a <cout << setw(5) << b << endl;

}

输出结果可以证实i奥数的正确性。

回答3:

setw()是给紧跟着后面的数据预定一个空间,如果该数据小于这个空间,在左边用0补齐;setw()只对紧跟在他后面的数据有效

for example

cout<
结果:

(两个空格)54421(一个空格)356

为了您的安全,请只打开来源可靠的网址
打开网站 取消
来自: http://hi.baidu.com/hxk622/blog/item/6f552c00ed84dd024bfb5184.html

回答4:

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

回答5:

在你输出结果的时候每个输出之间所间隔的空格数。