格式化输出[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语言中文网(一个很棒的网站) 有时希望按照一定的格式进行输出,如按十六进 ...
随机推荐
- 银行ATM机工作流程模拟编程(代码)
#include<stdio.h>#include<stdlib.h>#include <conio.h>#include <string.h> voi ...
- PayPal 开发详解(一):注册PayPal帐号
1.注册paypal帐号 https://www.paypal.com 2.使用刚才注册的paypal帐号登录3.进入开发者中心 4.登录开发者中心 5.登录 查看我们paypal Sandbox测试 ...
- A Neural Probabilistic Language Model
A Neural Probabilistic Language Model,这篇论文是Begio等人在2003年发表的,可以说是词表示的鼻祖.在这里给出简要的译文 A Neural Probabili ...
- jQuery通过jquery.form.js插件使用AJAX提交Form表单
我简单使用了一下,jQuery Form插件有一下优点: 1.支持提交前验证. 2.支持提交后回调. 3.采用AJAX方式,有很好的用户体验 4.提交方式是灵活.只要指定要提交的form ID即可. ...
- iOS自动布局一
Align: Pin:
- Storyboard里面的几种Segue区别和视图的切换
几种segue:push.modal.popover.replace.cutom. 一.视图切换类型介绍 1.在iPhone和iPad中,segue的类型是不同的. 2.在iPhone中,segue有 ...
- mutex 简单介绍
“mutex”是术语“互相排斥(mutually exclusive)”的简写形式,也就是互斥量. 当两个或更多线程需要同时访问一个共享资源时,系统需要使用同步机制来确保一次只有一个线程使用该资源.M ...
- ElasticSearch 模板文件配置
首先是推荐一下参考资料 中文资料:http://kibana.logstash.es/content/elasticsearch/index.html 官方文档:https://www.elastic ...
- 【PHP】文件上传限制
上传文件,只判断后缀,貌似还不是很严谨; /** * 判断文件是否合法 * @param $files * @param $arrCode * @return number|boolean */ fu ...
- Python脚本控制的WebDriver 常用操作 <九> 定位一组对象
下面将使用WebDriver来模拟操作定位一组对象的操作 测试用例场景 从上一节的例子中可以看出,webdriver可以很方便的使用find_element方法来定位某个特定的对象,不过有时候我们却需 ...