C++cin.width(5)是什么意思?

 我来答
Di_Foil
推荐于2018-03-23 · TA获得超过548个赞
知道小有建树答主
回答量:199
采纳率:40%
帮助的人:135万
展开全部
cin.width(5); //每次只接收4个字符,其他的放在流中等待接收。

详细介绍如下:

设置域宽
如果所需的宽度比设置的域宽小,空位用填充字符填充。如果显示数据所需的宽度比设置的域宽大,系统输出所有位。域宽设置仅对下一行流读入或流插入抄做有效,在一次操作完后被置0。
Setw
Width:输入操作提取字符串的最大宽度比定义的域宽小1,这是因为在输入的字符串后面必须加上一个空字符。

#include <iostream.h>
#include <ctype.h>
#include <iomanip.h>

int main()
{
int w=4;
char str[10];

cout<<"Enter a sentence:\n";

cin.width(5); //每次只接收4个字符,其他的放在流中等待接收。

while( cin>> str )
{
cout.width(w++); //将4个字符输出,设置每次输出的域宽增加1
cout<<str<<endl; //输出字符
cin.width(5); //设置接收4个字符
}

return 0;

}
输入输出情况:
Enter a sentence:
happy new year
happ
y
new
year
^Z
先输出happ(四个字符),y留在下一次。遇到空格接收结束,第二次只有y,到y输出时,输出域宽是5。下一个接收的是new(后面的空格断开了接收),……
598262523
2015-09-06 · TA获得超过102个赞
知道答主
回答量:108
采纳率:0%
帮助的人:121万
展开全部
就是输出的字符串宽度为4,不足的会用空格补足。比方说要输出“12”,但是在输出之前用了这句话就会输出“ 12”。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式