• setw(int n)用法


    实例:

    setw(int n)用来控制输出间隔:

    1 cout<<'s'<<setw(8)<<'a'<<endl;

    输出:

    1 /* s 与 a 之间有7个空格,setw()只对其后面紧跟的输出产生作用,如上例中,表示 'a' 共占 8 个位置,不足的用空格填充。若输入的内容超过setw()设置的长度,则按实际长度输出 */
    2 s       a

    setw()默认填充的内容为空格,可以setfill()配合使用设置其他字符填充:

    1 cout<<setfill('*')<<setw(5)<<'a'<<endl;

    则输出:

    1 /*4个*和字符a共占5个位置*/
    2 ****a   

     

    总结:

    所谓域宽,就是输出的内容(数值或字符等等)需要占据多少个字符的位置,如果位置有空余则会自动补足。比如我们要设置域宽为2,那么当输出一位数1的时候输出的就是“1”,即在1前面加了一个空格。空格和数字1正好一共占用了两个字符的位置。


    我们在设置域宽和填充字符的时候要注意几点

    ①设置域宽的时候应该填入整数,设置填充字符的时候应该填入字符。

    ②我们可以对一个要输出的内容同时设置域宽和填充字符,但是设置好的属性仅对下一个输出的内容有效,之后的输出要再次设置。即 cout <<setw(2) <<a <<b;语句中域宽设置仅对a有效,对b无效。

    ③setw和setfill 被称为输出控制符,使用时需要在程序开头写上#include <iomanip>(#include "iomanip.h"),否则无法使用。

     

    iomanip.h是I/O流控制头文件,就像C里面的格式化输出一样. 以下是一些常用的函数: 

    dec 置基数为10 相当于"%d"
    hex  置基数为16 相当于"%X"
    oct 置基数为8 相当于"%o"
    setfill(c) 设填充字符为c
    setprecision(n) 设显示小数精度为n位
    setw(n) 设域宽为n个字符
    setiosflags(ios::fixed) 固定的浮点显示
    setiosflags(ios::scientific) 指数表示
    setiosflags(ios::left) 左对齐
    setiosflags(ios::right) 右对齐
    setiosflags(ios::skipws) 忽略前导空白
    setiosflags(ios::uppercase)  16进制数大写输出
    setiosflags(ios::lowercase) 16进制小写输出
    setiosflags(ios::showpoint) 强制显示小数点
    setiosflags(ios::showpos)  强制显示符号

    示例: 

     1 #include <iomanip>
     2 #include <iostream>
     3 using namespace std;
     4 
     5 int main()
     6 {
     7     cout << hex << 17 << endl;                                    //11
     8     cout << 12345.0 << endl;                                      //12345 
     9     cout << setiosflags(ios::scientific) << 12345.0 << endl;      //1.234500e+004     
    10     cout << setprecision(3) << 12345.0 << endl;                   //1.235e+004 
    11     
    12     system("pause");
    13 
    14     return 0;
    15  }
  • 相关阅读:
    [转]vim 退格键(backspace)不能用
    centos出现“FirewallD is not running”怎么办
    cordova 实现拨打电话-只需两步(H5)
    腾讯云上运行java程序过程
    centos7 安装php
    centos 7 PostgreSQL一些简单问题以及解决办法
    centos 安装 java
    git push报错error: failed to push some refs to 'git@github.com:
    linux install beanstalkd
    centos7 执行一个数据库脚本创建项目中的数据库
  • 原文地址:https://www.cnblogs.com/zhaihongliangblogger/p/10520957.html
Copyright © 2020-2023  润新知