C++中setw()和setfill()的用法详情

目录

setw()的用法

setfill()的用法

适用范围和注意事项:


在C++中,setw()setfill()是两个用于控制输出格式的流操纵符,需要包含头文件#include <iomanip>。

setw()的用法

  • setw()用于设置下一个输出字段的宽度。如果输出内容的实际长度小于设置的宽度,则会在输出内容的前面或后面(取决于填充设置,left:左对齐填充(默认),right:右对齐填充)填充。默认情况下,填充字符是空格 。
  • 例如:cout << setw(10) << left << "Left"; 输出: "Left" 后面跟着6个空格
    cout << setw(10) << right <<"Right"; 输出: "Right"前面跟着5个空格

setfill()的用法

  • setfill()用于设置setw()操作中使用的填充字符。默认情况下,填充字符是空格,但可以通过setfill()指定其他字符作为填充 。
  • 例如:cout << setfill('*') << setw(10) << "Hello"; 会在"Hello"前面填充5个星号(*****Hello

适用范围和注意事项:

  • setw()setfill()通常用于格式化输出,使输出内容在视觉上更加整齐,或满足特定宽度要求。
  • setw()只影响紧随其后的输出操作,即 cout <<setw(2) <<a <<b;语句中域宽设置仅对a有效,对b无效。如果需要对多个输出进行格式化,需要在每次输出前重复设置。
  • setfill()的设置会对后续的setw()操作都有效。(经搜索,setfill 函数的影响范围并不是永久性的,它只对紧随其后的最近的那次 setw 操作有效,但运行的代码显示并非如此,如下述代码所示。运行结果为何与搜索结果相悖尚不得知,待后续知识储备完善再做解答)
    #include <iostream>
    #include <iomanip>
    
    using namespace std;
    
    int main() {
    
        cout << setw(5) << 111<<endl;
        cout<< setw(1) << setfill('0') << 11 <<"," << setw(4) << 111 << "," << setw(5) << 111 << endl;
        cout << setw(5) << 111;
        return 0;
    }

    运行如图

创作不易,如果我的文章对你有帮助,请点赞收藏关注,您的支持是我前进的最大动力。

  • 7
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值