/*
用ios类中的成员函数来进行IO格式的控制总需要写一条单独的语句,而不能直接嵌入到IO语句中,显得很不方便,因此C++又提供了一种用操作符来控制IO的格式。操作符分为带参和不带参两种,带参的定义在头文件iomanip中,不带参的定义在头文件iostream中

首先看一下定义在头文件iostream中的不带参的流操作符
boolalpha      使用文本形式输出bool型数值(即输出true或false)
fixed          定点格式输出,即以小数点的形式表示浮点数
scientific        用科学记数法表示浮点数
dec            采用十进制,用于输入和输出
oct          采用八进制,用于输入和输出
hex            采用十六进制,用于输入和输出
internal          输出格式为居中对齐
right          输出格式为右对齐
left            输出格式为左对齐
showpos        在正数前面加上+号
showpoint     显示末尾的0
showbase      显示进制,即在十六进制数前添加0x,在八进制数前添加0
uppercase     大写显示
unitbuf       每次执行输出操作后均会清空缓冲区,如cout<<unitbuf<<"Test"<<"File";会刷新缓冲区两次
skipws        忽略输入流中的空白字符,即当我们输入的字符前面有空格时,存储的时候会自动忽略
以上15个即是标准控制符,它们可以自动调用setf()函数并提供正确的参数,因此可以直接使用

noboolalpha
noshowpos
noshowpoint
noshowbase
nouppercase
nounitbuf
noskipws
指示标志位ios::basefield、ios::adjustfield、ios::floatfield可以清除相应的8个标志位,剩下的7个标志位除了可以通过unsetf()清除,还可以通过以上7个命令清除相应标志位

ws 跳过输入的空格符,用于输入
endl 输出一个换行符并刷新输出流,用于输出
ends 输出一个空字符null,通常用来结束一个字符串,用于输出
flush 刷新输出流,用于输出

注:null和'\0'的区别:'\0'和null的值都是0,但'\0'指的是空字符串,用于判断字符串结束;而null指的是空指针,用于判断指针指向的对象是否为空

接下来看一下定义在头文件iomanip中的带参的流操作符
setw(n)                   同ios类中的成员函数width(),设置字段宽度,用于输出
setfill(c)                同ios类中的成员函数fill(),设置填充字符为c(默认为空格,一次有效),用于输出
setprecision(n)          同ios类中的成员函数precision(),用于输出 
setbase(n)            设置整数的基数为n(n可取0或10代表十进制,8代表八进制,16代表十六进制,默认为0),用于输入和输出
setiosflags(fmtflag)     设置标志位,多个用"|"隔开,用于输入和输出
resetiosflags(fmtflag)    清除指定标志位,多个用"|"隔开,用于输入和输出

*/

#include <iostream>
using namespace std;
int main()
{
  int x;
  cin>>hex>>x;       //采用十六进制进行输入(16)
  cout<<x<<endl;       //默认采用十进制进行输出(22)
  cin>>x;         //由于前面的cin>>hex会自动调用setf(ios::hex),而setf()会一直生效,因此这里仍采用十六进制进行输入(16)
  cout<<x<<endl;    //默认采用十进制进行输出(22)
  cin>>oct>>x;      //这里会自动调用setf(ios::oct|ios::basefield),采用八进制进行输入(16)
  cout<<x<<endl;      //默认采用十进制进行输出(14)   cout<<'a';
  cout<<'b'<<ends;    //ends用于输出一个空字符null
  cout<<'c'<<endl;    //endl用于输出一个换行符,并刷新输出流(ab c)   bool b=;
  cout<<boolalpha<<b<<endl;    //true
  cout<<noboolalpha<<b<<endl;   //   return ;
}

格式化输出[parts/iomanip]的更多相关文章

  1. cout 格式化输出

    一直习惯于C语言的printf函数来打印,突然有一天要用cout来打印,发现有点不适应. 原来cout也是有格式化输出的. 首先要引入头文件 #include<iostream> // 在 ...

  2. [转载] c++ cout 格式化输出浮点数、整数及格方法

    C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...? 下面的方法是在网上找到的,如果各位有别的办法谢谢留下... iomanip.h是I/O流控制头文件,就像C里面的格式 ...

  3. C++学习 cout的格式化输出

    cout的格式化输出 1.常用: ①double 输出到小数点后n位:(保留精度 n位) #include <iostream> #include <iomanip> usin ...

  4. C++格式化输出浮点数

    主要内容 介绍C++中如何格式化输出浮点数. 控制浮点数输出格式需要包含iomanip头文件. 使用fixed来控制输出的浮点数的小数位是固定的.可参考http://en.cppreference.c ...

  5. C++ cout格式化输出(转)

    C++ cout格式化输出(转) 这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等.通过本文,您可以完全脱离scanf/pr ...

  6. [ZZ]c++ cout 格式化输出浮点数、整数及格式化方法

    C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...?下面的方法是在网上找到的,如果各位有别的办法谢谢留下... iomanip.h是I/O流控制头文件,就像C里面的格式化 ...

  7. C++ cout 格式化输出方法

    C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...? iomanip是I/O流控制头文件,就像printf的格式化输出一样. 以下是一些常用的: dec 置基数为10 相 ...

  8. C++输入输出流 cin/cout 及格式化输出简介

    C++ 可通过流的概念进行程序与外界环境( 用户.文件等 )之间的交互.流是一种将数据自源( source )推送至目的地( destination )的管道.在 C++ 中,与标准输入/输出相关的流 ...

  9. C++ cout格式化输出完全攻略

    写算法题的时候突然发现自己忘记基本的C++:cout格式化输出了,赶紧拉出以前的C++学习笔记重新看一看. 部分内容来自教程:C语言中文网(一个很棒的网站) 有时希望按照一定的格式进行输出,如按十六进 ...

随机推荐

  1. MySQL查询昨天、今天、7天、近30天、本月、上一月数据

    文章同步发表在博主网站朗度云,传输门:http://www.wolfbe.com/detail/201608/291.html   在开发或者统计时,我们可能需要统计某个表的数据.比如:查看今天新增的 ...

  2. 在信号处理函数中调用longjmp

    错误情况及原因分析 前两天看APUE的时候,有个程序要自己制作一个sleep程序,结果在这个程序中就出现了在信号处理函数中调用longjmp函数的情况,结果就出现了错误,具体错误是啥呢,请参见下面这段 ...

  3. 使用userdel命令删除Linux用户

    serdel是什么 userdel 是一个底层用于删除用户的工具.在 Debian 上,我们通常会使用 deluser 命令.userdel 会查询系统账户文件,例如 /etc/password 和  ...

  4. 查看Linux系统版本信息

    一.查看Linux内核版本命令(两种方法): 1.cat /proc/version [root@S-CentOS home]# cat /proc/versionLinux version 2.6. ...

  5. 已经导入了具有相同的简单名称“Interop.DSOFramer, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null”的程序集。

    错误  : 已经导入了具有相同的简单名称“Interop.DSOFramer, Version=1.3.0.0, Culture=neutral, PublicKeyToken=null”的程序集. ...

  6. SQL SERVER连接字符串学习

    在使用connection string时遇到一些问题 字符串如下"Data Source= ******;Initial Catalog=******;Persist Security I ...

  7. echarts简单使用案例

    先上效果图:

  8. Git客户端图文详解如何安装配置GitHub操作流程攻略

    收藏自 http://www.ihref.com/read-16377.html Git介绍 分布式 : Git版本控制系统是一个分布式的系统, 是用来保存工程源代码历史状态的命令行工具; 保存点 : ...

  9. C++求斐波那契数

    题目内容:斐波那契数定义为:f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)(n>1且n为整数) 如果写出菲氏数列,则应该是: 0 1 1 2 3 5 8 13 21 34 …… ...

  10. 关于VS2012下安装破解文件Visual Assit X的一点说明

    今天在使用Visual Studio 2012的时候,编写代码的助手Visual Assit X突然提示我说,试用期已过,要求我输入一个注册码,我靠,这货不是几个月前已经破解了吗,怎么今天傻不愣登的提 ...