首页 > 其他 > 详细

[College] 关于setw()

时间:2019-10-09 09:06:33      阅读:110      评论:0      收藏:0      [点我收藏+]

函数setw()被包含在头文件<iomanip>中,通常被用于控制输出的格式。

#include<iostream>
#include<iomanip>
#include<cstdio>

using namespace std;

int main()
{
    //freopen("result.txt","w",stdout);
    int  a=615;
    char  b=M ;
    float  c=136.8789;
    cout<<a<<b<<c<<\n;
    cout<<setw(10)<<a<<setw(8)<<b<<setw(16)<<c<<\n;
    cout<<setw(12)<<a<<b<<c<<\n;
    return 0;
}

以上代码的输出结果为:

615M136.879
       615       M         136.879
         615M136.879

我们把输出结果导入到Notepad++中,不难发现setw()的作用:

对于语句 cout<<setw(int n)<<a; 表示输出“   a”,这个输出串的长度为n,长度不够的在前面用空格补足。需要注意的是,这个长度包含了a本身而若a本身的长度已经达到或超过n,则按照a本身的长度输出,前面自然就不补充空格了。

此外,根据代码 cout<<setw(12)<<a<<b<c<<‘\n‘; 的输出结果,我们会发现,这个语句中的setw(12)只能控制a的输出格式,也就是说,在这一行前面的空格数,仅仅是根据a的长度来决定的,而与b、c无关

<一点点补充> 我们可以通过setfill()来控制在前面补足的内容,例如语句 cout<<setfill(‘~‘)<<setw(n)<<a; 那么在a前用来补足长度n的就不再是空格,而是‘~’。

[College] 关于setw()

原文:https://www.cnblogs.com/SinGuLaRiTy2001/p/11639247.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!