在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

setw()函数使用的更多相关文章

  1. setw()函数

  2. 关于 setw() 函数(C++)

    // about setw() #include <iostream> #include <iomanip> #include <cstring> using na ...

  3. 这些C++常用内置函数你会几个??

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:Regina520  新手注意:如果你C++学的不好,可以去拿我的C+ ...

  4. C++ 连接数据库的入口和获取列数、数据

    这里不具体放出完整的程序,分享两个核心函数: 由于这里用到的函数是编译器自己的库所没有的,需要自己下载mysql.h库或者本地有数据库,可以去bin找到,放进去. 前提,我自己的测试数据库是WampS ...

  5. C++ IO 详细用法

    http://www.cnblogs.com/keam37/ keam所有 转载请注明出处 本文将分别从<iostream>,<sstream>,<fstream> ...

  6. 用C++编一程序,先输出一行sun mon tue wed thu fri fri,接着使用右对齐打印出日期,像日历那样

    用C++编一程序,先输出一行sun mon tue wed thu fri fri,接着使用右对齐打印出日期,像日历那样 先输出一行sun mon tue wed thu fri fri,再提醒用户输 ...

  7. C++ 标准库之iomanip

    C++ 标准库之iomanip istream & istream::get(char *, int, char = '\n');istream & istream::getline( ...

  8. 整理一下C++语言中的头文件

    对于每一个像我一样的蒟蒻来说,C++最重要的东西就是头文件的使用了.由于初学,直到现在我打代码还是靠一些事先写好的的头文件,仍然不能做到使用自己需要的.最近看了几位大佬打代码,心中突然闪过要把自己冗长 ...

  9. c++简单程序设计 实验一

    实验内容: 2-28 实现一个简单的菜单程序,运行时显示“Menu:A(dd) D(elete) S(ort) Q(uit),Selete one:”提示用户输入.A表示增加,D表示删除, S表示排序 ...

随机推荐

  1. 如何破解安卓App

    韩梦飞沙 yue31313 韩亚飞 han_meng_fei_sha  313134555@qq.com 如何破解安卓App

  2. Struts2 (上)

    Struts2简介 Struts2框架的作用 Struts2是一个基于MVC设计模式的Web应用框架 它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controlle ...

  3. [51Nod 1773] A国的贸易

    [51Nod 1773] A国的贸易 题目描述 A国是一个神奇的国家. 这个国家有 2n 个城市,每个城市都有一个独一无二的编号 ,编号范围为0~2n-1. A国的神奇体现在,他们有着神奇的贸易规则. ...

  4. UOJ 310 黎明前的巧克力(FWT)

    [题目链接] http://uoj.ac/problem/310 [题目大意] 给出一个数集,A从中选择一些数,B从中选择一些数,不能同时不选 要求两者选择的数异或和为0,问方案数 [题解] 题目等价 ...

  5. Vue-router浅析(二)

    一.导航守卫 经常在项目中,会对页面做一些权限控制,所以需要对路由变化做出处理,跳转或取消相应的路由. 导航:即路由发生变化.导航守卫即对路由变化做出处理.当然也分几种情况:对全局变化做处理.对&qu ...

  6. wikioi 1078 最小生成树 Kruskal算法

    1078 最小生成树 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 白银 Silver       题目描述 Description 农民约翰被选为他们镇的镇长!他其中一个竞选承诺 ...

  7. JavaEE-学习目录

    JavaEE ============================================ Web工作机制 JSP Struts基础 Struts核心文件 Struts数据校验与国际化 S ...

  8. 读书笔记_Effective_C++_条款四十:明智而审慎地使用多重继承

    多重继承是一种比较复杂的继承关系,它意味着如果用户想要使用这个类,那么就要对它的父类也了如指掌,所以在项目中会带来可读性的问题,一般我们都会尽量选择用单继承去替代它. 使用多重继承过程容易碰到的问题就 ...

  9. Java的Spi机制心得

    Java spi : 是Java EE 给服务供应商提供的接口,供应商遵循接口契约提供自己的实现.. 简单来讲就是为某个接口寻找服务实现的机制. 在看JDBC源码当看到DriverManage.get ...

  10. 前些日子用css画的大白

    闲来无事用css画的一个大白...其实有一些地方偷懒了用svg去画的,因为用纯几何形状组合去画变化那么复杂的曲线不太现实.但svg曲线坐标还是自己一点点调出来的,没有用工具生成. ps:点击身体的某些 ...