这边需要注意的是如果使用到setpercision,一定要引入iomanip头文件,否则编译会出错

注意以下的操作流算子都是在头文件iomanip中定义的,强烈建议使用的时候引入改头文件否则可能会出现错误

默认情况下使用的算子(也可以理解为没有使用任何算子的时候输出遵循的规则)

dec:以十进制输出整数

right:右对齐,如果宽度不够的时候,将填充字符添加到右边(该句子的意思就是,一般情况下左右对齐是与setw一起配套使用的,否则左右对齐难以体现出来,此时通过setw设置最小的输出字段,如果此时输出的字段的长度小于最小的字段输出长度,那么填充字符就是在左边进行填充,反之左对齐就是在右边进行填充)

这边需要注意主要设置一次之后,后面的输出方式就是设置的方式了,除非再次通过算子进行修改,否则不会变化

nobooolalpha:true和false输出为0,1

noshowpoint:只有当小数部分存在时候才显示小数点,即1.00的输出为1

noshowpos:在非负数值中不显示+

skipws:输入时跳过空白字符(如果设置为noskipws,那么在读入数字的时候会爆炸,只要存在空格就不会读入数字了,这点需要注意)

nouppercase:十六进制中使用a-e,若输出前缀则为0x,科学计数法中输出的为e

也就是只要不是字符串中的输出(包括字符),那么都是使用小写输出

其他算子:

hex:以十六进制形式输出整数

oct:以八进制形式输出整数

fixed:定点数,可以这样记忆,以普通小数形式输出浮点数

scientific:以科学计数法形式输出浮点数

left:左对齐

setbase:设置输出整数时的进制,注意里面的形参只能为8,10,16

setw:设定下一个输出字段的最短长度,注意也可以定义输入字符串读入的字符个数

setfill:通常与setw配套使用,控制的是最小输出字段的长度不够时进行填充的字符

eg:cout << setw(3) << setfill('@') << 1 << endl;

output:@@1

setprecision:注意精度的设置适用于浮点数的输出

在使用非fixed并且非scientific方式进行输出的情况下,里面的形参n控制的是有效数字个数,如果整数部分的数字个数大于n,那么输出形式会变成科学计数法,如果n会到达小数部分,那么输出是按照四舍五入的方式进行输出

注意该精度并不会将1.2000后面的0输出

eg:cout << setprecision(10) << 1.2000 << endl;

如果使用了fixed或者scientific那么n代表的是保留小数点后的n位数字

output:1.2

setiosflags:将某个输出格式标志置为1

如果setprecision(n)与setiosflags(ios::fixed)合用,可以控制小数点右边的数字个数。

也就是说下面的两个输出方式的效果是一致的

eg:

cout << setiosflags(ios::fixed) << setprecision(10) << 1.20 << endl;

cout << fixed << setprecision(10) << 1.20 << endl;

resetiosflags:将某个输出格式标志置为0

boolapha:把true和false输出为字符串

showbase:输出表示数值进制的前缀

showpoint:总是输出小数点

showpos:在非负数值中显示+

noskipws:输入时不跳过空白字符

uppercase:与nouppercase的作用相反

internal:符号左对齐,数值右对齐(对于有符号的数字的一种规范)

fixed:小数以定点数的形式输出

scientific:小数以科学计数法的形式进行输出

C++中关于cout相关的输出格式(操作流算子)的更多相关文章

  1. 利用commons-io.jar包中FileUtils和IOUtils工具类操作流及文件

    1.String IOUtils.toString(InputStream input),传入输入流对象,返回字符串,有多重重载,可按需要传参 用例: @Test public void showIn ...

  2. C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET

    C++ STL中Map的相关排序操作:按Key排序和按Value排序 - 编程小径 - 博客频道 - CSDN.NET C++ STL中Map的相关排序操作:按Key排序和按Value排序 分类: C ...

  3. Qt中与文件目录相关操作

    一.与文件目录操作有关操作. Qt中与文件目录相关的操作在QDir中,需加入#include <QDir>语句. QDir::drives()是列出电脑根目录下的所有目录,返回的是QFil ...

  4. Head First Python-Python中与文件相关的操作-读、处理、写

    最近在看head first python,前面也写了一些笔记,但是基本上没有涉及到一些完整的代码,现在将书中的文件相关操作的代码整理,供以后参考. 主要分为两大部分,读取文件.处理异常,处理文件.存 ...

  5. STL中的Vector相关用法

    STL中的Vector相关用法 标准库vector类型使用需要的头文件:#include <vector>. vector 是一个类模板,不是一种数据类型,vector<int> ...

  6. C# 的Brush 及相关颜色的操作 (并不是全转)

    C# 的Brush 及相关颜色的操作 2013-12-13 14:08             4977人阅读             评论(0)             收藏             ...

  7. Linux中exec命令相关

    Linux中exec命令相关 exec和source都属于bash内部命令(builtins commands),在bash下输入man exec或man source可以查看所有的内部命令信息. b ...

  8. SELECT中(非常)常用的子查询操作

    MySQL中的子查询 是在MySQL中经常使用到的一个操作,不仅仅是用在DQL语句中,在DDL语句.DML语句中也都会常用到子查询. 子查询的定义: 子查询是将一个查询语句嵌套在另一个查询语句中: 在 ...

  9. MVC中Controller控制器相关技术

    第6章Controller相关技术 Controller(控制器)在ASP.NET MVC中负责控制所有客户端与服务器端的交互,并 且负责协调Model与View之间的数椐传递,是ASP.NET MV ...

随机推荐

  1. 中间件漏洞之IIS

    IIS中间件漏洞 我们常见的中间件有IIS.Apache.Nginx,其中IIS中间件有什么漏洞呢? IIS 短文件名漏洞: 漏洞产生的原因是为了兼容MS-DOS程序,windows为文件名较长的文件 ...

  2. Blazor和Vue对比学习(基础1.6):祖孙传值,联级和注入

    前面章节,我们实现了父子组件之间的数据传递.大多数时候,我们以组件形式来构建页面的区块,会涉及到组件嵌套的问题,一层套一层.这种情况,很大概率需要将祖先的数据,传递给子孙后代去使用.我们当然可以使用父 ...

  3. 【算法】希尔排序(Shell Sort)(四)

    希尔排序(Shell Sort) 1959年Shell发明,第一个突破O(n2)的排序算法,是简单插入排序的改进版.它与插入排序的不同之处在于,它会优先比较距离较远的元素.希尔排序又叫缩小增量排序. ...

  4. Fail2ban 配置详解 基础配置(fail2ban.conf)

    [Definition] loglevel = INFO # 设置日志级别:级别越低显示日志的信息更详细. # CRITICAL - 关键级别 # ERROR - 错误级别 # WARNING - 警 ...

  5. HDFS 细粒度锁优化,FusionInsight MRS有妙招

    摘要:华为云FusionInsight MRS通过FGL对HDFS NameNode锁机制进行优化,有效提升了NameNode的读写吞吐量,从而能够支持更多数据,更多业务请求访问,从而更好的支撑政企客 ...

  6. 关于JNPF3.4版本的三大改变,你真的了解了吗?

  7. Java泛型知识总结

    泛型 前言 在没有泛型之前,程序员必须使用Object编写适用于多种类型的代码.很繁琐,也不安全. 泛型的引入使Java有了一个很强的类型系统,允许设计者详细地描述变量和方法的类型要如何变化. 在普通 ...

  8. JAVA 异常 基本知识

    异常 异常定义 异常是运行过程中出现的错误 人为错误:填写错误等 随机错误:网络中断.内存耗尽等 一个健壮的程序必须处理各种各样的错误 Java的异常是class Object Throwable E ...

  9. ssh打通

    打通ssh https://www.cnblogs.com/yolanda-lee/p/4975453.html

  10. # 【由浅入深_打牢基础】WEB缓存投毒(上)

    image-20220611092344882 [由浅入深_打牢基础]WEB缓存投毒(上) 1. 什么是WEB缓存投毒 简单的来说,就是利用缓存将有害的HTTP响应提供给用户 什么是缓存,这里借用Bu ...