格式化输出[parts/iomanip]
/*
用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]的更多相关文章
- cout 格式化输出
一直习惯于C语言的printf函数来打印,突然有一天要用cout来打印,发现有点不适应. 原来cout也是有格式化输出的. 首先要引入头文件 #include<iostream> // 在 ...
- [转载] c++ cout 格式化输出浮点数、整数及格方法
C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...? 下面的方法是在网上找到的,如果各位有别的办法谢谢留下... iomanip.h是I/O流控制头文件,就像C里面的格式 ...
- C++学习 cout的格式化输出
cout的格式化输出 1.常用: ①double 输出到小数点后n位:(保留精度 n位) #include <iostream> #include <iomanip> usin ...
- C++格式化输出浮点数
主要内容 介绍C++中如何格式化输出浮点数. 控制浮点数输出格式需要包含iomanip头文件. 使用fixed来控制输出的浮点数的小数位是固定的.可参考http://en.cppreference.c ...
- C++ cout格式化输出(转)
C++ cout格式化输出(转) 这篇文章主要讲解如何在C++中使用cout进行高级的格式化输出操作,包括数字的各种计数法(精度)输出,左或右对齐,大小写等等.通过本文,您可以完全脱离scanf/pr ...
- [ZZ]c++ cout 格式化输出浮点数、整数及格式化方法
C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...?下面的方法是在网上找到的,如果各位有别的办法谢谢留下... iomanip.h是I/O流控制头文件,就像C里面的格式化 ...
- C++ cout 格式化输出方法
C语言里可以用printf(),%f来实现浮点数的格式化输出,用cout呢...? iomanip是I/O流控制头文件,就像printf的格式化输出一样. 以下是一些常用的: dec 置基数为10 相 ...
- C++输入输出流 cin/cout 及格式化输出简介
C++ 可通过流的概念进行程序与外界环境( 用户.文件等 )之间的交互.流是一种将数据自源( source )推送至目的地( destination )的管道.在 C++ 中,与标准输入/输出相关的流 ...
- C++ cout格式化输出完全攻略
写算法题的时候突然发现自己忘记基本的C++:cout格式化输出了,赶紧拉出以前的C++学习笔记重新看一看. 部分内容来自教程:C语言中文网(一个很棒的网站) 有时希望按照一定的格式进行输出,如按十六进 ...
随机推荐
- hbase很有价值的读写性能提升
NoSQL现在风生水起,hbase的使用也越来越广,但目前几乎所有的NoSQL产品在运维上都没法和DB相提并论,在这篇blog中来总结下我们在运维hbase时的一些问题以及解决的方法,也希望得到更多h ...
- 1Android系统移植与驱动开发概述
1.Android系统架构分为四层,从下至上依次为Linux内核层,C/C++代码库.Android SDK API.应用程序,要熟悉每一层的内容以及功能: 2.Android移植分为应用移植和系统移 ...
- javaSE第二十二天
第二十二天 312 1:登录注册IO版本案例(掌握) 312 2:数据操作流(操作基本类型数据的流)(理解) 313 (1)定义: 313 (2)流对象名称 313 (3 ...
- 软件工程 speedsnail 冲刺9
20150313 完成任务:为周五检查做了相关准备,包括稳定性测试,分辨率测试: 遇到问题: 问题1 进入关卡的开始蜗牛会跳一段距离 解决1 没有解决 明日任务: 冲刺结束
- 2014第五届蓝桥杯试题C/C++程序设计B组——切面条
题目描述:标题:切面条 一根高筋拉面,中间切一刀,可以得到2根面条. 如果先对折1次,中间切一刀,可以得到3根面条. 如果连续对折2次,中间切一刀,可以得到5根面条. 那么,连续对折10次,中间切一刀 ...
- Sql Server 常用的查询
基本常用查询 --select select * from student; --all 查询所有 select all sex from student; --distinct 过滤重复 selec ...
- C# 委托简单使用方法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- Redux介绍及基本应用
一.Redux介绍 Redux的设计思想很简单,就两句话: Web应用是一个状态机,神力与状态是一一对应的 所有的状态,保存在一个对象里面 二.Redux基本概念和API Store Store就是 ...
- 谈谈对MVC的理解
MVC是Model-View-Controler的简称,即模型-视图-控制器.其实MVC是一种设计模式,它强制性的把应用程序的输入.处理和输出分开.MVC中的模型.视图.控制器它们分别承担着不同的任务 ...
- SQL基础篇---函数及其函数配套使用的关键字
一.数值函数 知识点1 SUM 求总和 SELECT breakfast,sum(price) FROM my_foods GROUP BY breakfast ORDER BY SUM(price) ...