zoukankan      html  css  js  c++  java
  • setw()函数使用

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

    cout<<setfill('*')<<setw(5)<<'a'<<endl;
    则输出:
    ****a //4个*和字符a共占5个位置。

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

    我 们在设置域宽和填充字符的时候要注意几点:①设置域宽的时候应该填入整数,设置填充字符的时候应该填入字符。②我们可以对一个要输出的内容同时设置域宽和 填充字符,但是设置好的属性仅对下一个输出的内容有效,之后的输出要再次设置。即 cout <<setw(2) <<a <<b;语句中域宽设置仅对a有效,对b无效。③setw和setfill 被称为输出控制符,使用时需要在程序开头写上#include "iomanip.h",否则无法使用。

    setw(n) 设域宽为n个字符 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) 强制显示符号 示例: #include <iomanip.h> #include <iostream> int main() { cout<<12345.0<<endl;//12345 cout<<setiosflags(ios::scientific)<<12345.0<<endl;//1.234500e+004 cout<<setprecision(3)<<12345.0<<endl;//1.235e+004 return 0; }

    原文:http://hi.baidu.com/golny/item/9fbbc4f11afe2f1da729884b

  • 相关阅读:
    You are not late! You are not early!
    在同一个服务器(同一个IP)为不同域名绑定的免费SSL证书
    Vue.js Is Good, but Is It Better Than Angular or React?
    It was not possible to find any compatible framework version
    VS增加插件 Supercharger破解教程
    Git使用ssh key
    Disconnected: No supported authentication methods available (server sent: publickey)
    VS 2013打开.edmx文件时报类型转换异常
    asp.net MVC4 框架揭秘 读书笔记系列3
    asp.net MVC4 框架揭秘 读书笔记系列2
  • 原文地址:https://www.cnblogs.com/zhizhan/p/3822494.html
Copyright © 2011-2022 走看看