C++I/O流——(4)格式化输入/输出(第一节)

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝
含泪播种的人一定能含笑收获!

一起加油!

目录

前言:

 用ios类成员函数实现格式化输入/输出:

1.控制输入/输出的标志位:

2.控制输出格式的成员函数: 


前言:

        以上介绍的都是按照系统默认的格式进行输入/输出,即无格式输入/输出,主要针对简单的程序和数据,为了方便采取了默认的格式。然而,有时程序需要按照特定的格式进行输入/输出.例如,要求用十六进制输出整数,或者对输出的小数只保留三位小数等,这种按指定的格式输出,被称为格式化输入输出。C++提供了两种方法可以进行输入/输出格式化的操作:一种是用IOS类成员函数控制格式,另一种是利用特定的操作符函数实现格式控制。

 用ios类成员函数实现格式化输入/输出:

该方法要使用ios类中定义的用来控制格式的标志位和用来设置格式的成员函数。

1.控制输入/输出的标志位:

        在流类库根类ios base 中,有一个作为数据成员的格式控制变量,用来记录格式标志;通过设置标志,可以控制格式化输入/输出效果。各种格式标志被定义为枚举类型中的一组符号常量该枚举的定义如下:

enum

{

skipws=0x0001
left=0x0002
right=0x0004
internal=0x0008
dec==0x0010
oct=0x0020
hex=0x0040
showbase-0x0080
showpoint=0x0100
uppercase=0x0200
showpos=0x0400
scientific=0x0800
fixed=0x1000
unitbuf=0x2000
stdio=0x4000

}

此枚举类型的每个成员分别定义标志位的一个位。其每个位表示不同的含义,引用这些格式标志时要在前面加上类名ios和域运算符“::”。

ios::skipws            0x0001             跳过输入中的空白符
ios::left              0x0002                 输出数据按输出域左对齐
ios::right        0x0004                     输出数据按输出域右对齐
ios::internal        0x0008    数据的符号左对齐,数据本身右对齐,符号和数据之间为填充符
ios::dec            0x0010                  转换基数为十进制形式 

ios::oct   0x0020   转换基数为八进制形式
ios::hex   0x0040   转换基数为十六进制形式
ios::showbase   0x0080    输出的数值数据前面带有基数符号(0或0x)
ios::showpoint   0x0100   浮点数输出带有小数点
ios::uppercase   0x0200   用大写字母输出十六进制数值
ios::showpos   0x0400   正数前面带有符号“+”
ios::scientific   0x0800   浮点数输出待用科学表示法
ios::fixed   0x1000   使用定点数(小数)形式表示浮点数
ios::unitbuf   0x2000   完成输入操作后立即刷新流的缓冲区
ios::stdio   0x4000    完成输入操作后刷新系统的stdout.stderr

2.控制输出格式的成员函数: 

IOS类提供了几个用于控制输入/输出格式的成员函数。

long flags()该函数返回当前标志字
long flags(long)该函数使用参数更新标志字,并返回更新前的标志字
long setf(long setbits,long field)该函数用来将field参数所指定的标志位清零,将setbits参数的标志位置1,并返回设置前的标志字
long setf (long)该函数用来设置参数的指定的标志位,并返回更新前的标志字
long unsetf (long)该函数用来清除参数的指定的标志位,并返回更新前的标志字
int width()该函数用来返回当前输入的数据宽度
int width(int)该函数用其参数设置当前输出的数据宽度,并返回更新前的宽度值
char fill()该函数用来返回当前所用的填充符
char fill(char)该函数用来设置当前的填充符为参数给定的字符,并返回更新前的填充符设置浮点数输出精度的成员函数
int (precision)该函数用来返回当前浮点数的有效数字的个数。浮点数的精度是用有效数字个数来表示
int precision(int)该函数用来设置当前浮点数输出时有效数字个数为该函数所制定的参数值,并返回更新的,个数越大,表示精度越高前的值

        以上就是我对C++I/O流——(4)格式化输入/输出(第一节)的理解,希望本篇文章对你有所帮助,也希望可以支持支持博主,后续博主也会定期更新学习记录,记录学习过程中的点点滴滴。如果有不懂和发现问题的小伙伴,请在评论区说出来哦,同时我还会继续更新对C++I/O流的理解,请持续关注我哦!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/629373.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

独立服务器和云服务器的区别

独立服务器和云服务器的区别是很多用户在选择服务器时要做的课程,那么独立服务器和云服务器的区别有哪些呢? 独立服务器和云服务器是两种不同的服务器部署方式,它们在性能、成本、资源利用、安全性和维护等方面存在显著差异。 1. **性能对比**&#xff…

Feign自定义打印请求响应log

需求如下: 1,项目启动时打印项目中使用feignclient的name及url相关信息 2,在调用feignclient方法时,打印request, response信息,并有开关来控制此项功能,因为并不是所有feignclient都需要打印request, re…

【DC-6靶场渗透】

文章目录 前言 一、确定靶场地址 二、信息收集 三、账号枚举并破解 四、寻找漏洞 五、反弹shell 六、提权 前言 今天做一下DC6靶场 一、确定靶场地址 1、查看靶机mac地址 2、kali使用nmap,arp-scan工具扫描 nmap -sn 172.16.100.0/24 arp-scan 172.16.100.0/24 I…

Kali Linux保姆级教程|零基础从入门到精通,看完这一篇就够了!(附工具包)

作为一名从事网络安全的技术人员,不懂Kali Linux的话,连脚本小子都算不上。 Kali Linux预装了数百种享誉盛名的渗透工具,使你可以更轻松地测试、破解以及进行与数字取证相关的任何其他工作。 今天给大家分享一套Kali Linux资料合集&#xf…

医院体检中心客户满意度抽样方法

医院体检中心客户满意度调查的抽样方法是确定调查对象的一种方式,以确保调查结果具有代表性。以下是一些常见的抽样方法: 简单随机抽样: 这是一种随机选择客户的方法,每个客户都有被选中的机会,且每个客户被选中的概率…

C++算法学习心得六.回溯算法(2)

1.组合总和(39题) 题目描述: 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字&am…

Python 循环结构之for循环

在Python中,循环结构用于重复执行一段代码,是非常重要的编程方法,其中for循环是特别常用的循环结构。 一、理解: for循环用于遍历一个可迭代对象(如列表、元组、字符串等)中的元素,或者执行固…

深入理解单例模式:如何确保一个类只有一个实例?

欢迎来到英杰社区 https://bbs.csdn.net/topics/617804998 欢迎来到阿Q社区 https://bbs.csdn.net/topics/617897397 单例模式 前言单例模式饿汉模式懒汉模式 前言 单例模式(Singleton Pattern)是一种常用的设计模式,用于确保一个类只有一个…

【大模型评测】常见的大模型评测数据集

开源大模型评测排行榜 https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard 其数据是由其后端lm-evaluation-harness平台提供。 数据集 1.英文测试 MMLU https://paperswithcode.com/dataset/mmlu MMLU(大规模多任务语言理解&#xff09…

公网对讲|酒店无线对讲系统

提高工作效率 酒店对讲机可以帮助酒店员工实现快速、有效的内部沟通,从而提高服务质量。例如,前台接待人员可以通过对讲机及时通知客房服务人员为客人提供快速入住服务,或者通知餐饮部门为客人提供送餐服务。此外,对讲机还可以帮…

我劝你千万不要去做CSGO游戏搬砖

大家好,我是阿阳。今天我要给大家讲解一下做CSGO游戏搬砖项目前必须知道的五个问题。作为一个做这个项目已经三年多的老手,我带过的搬砖学员已经有好几百人了。在这个过程中,也积累了不少经验和教训,希望能够通过这篇文章给大家一…

Oracle数据库避坑:CASE WHEN ‘ ‘ = ‘ ‘ 空字符串比较,预期的结果与判断逻辑的实现之间存在不匹配

Oracle数据库避坑:CASE WHEN 空字符串比较,预期的结果与判断逻辑的实现之间存在不匹配 1、背景2、具体示例分析3、其他相同案例4、结论 1、背景 在业务开发中,查询sql视图时,使用CASE WHEN语句判断空字符串是否不等于column…

Vue创建项目配置情况

刚开始接触vue项目创建和运行因为node版本和插件版本不一致时长遇到刚装好插件,项目就跑不起来的情况,特此记录一下 vue -V vue/cli 5.0.8 node -v v12.22.12 npm -v 6.14.16 关闭驼峰命名检查、未使用语法检查 package.json文件内容: {&…

数学建模常见算法的通俗理解(更新中)

目录 1.层次分析法(结合某些属性及个人倾向,做出某种决定) 1.1 粗浅理解 1.2 算法过程 1.2.1 构造判断矩阵 1.2.2 计算权重向量 1.2.3 计算最大特征根 1.2.4 计算C.I.值 1.2.5 求解C.R.值 1.2.6 判断一致性 1.2.7 计算总得分 2 神经网…

Verdaccio中,创建私服时,如何用VERDACCIO_PUBLIC_URL修改页面上资源文件的域名

更多内容,欢迎访问:Verdaccio npm私服时,遇到更多问题 用 Verdaccio 搭建私服时,当使用定义的域名访问时,报错,原因是JS等资源文件的访问域名是 127.0.0.1:4873,并不是我们想要的域名: 通过查看…

2024年第二届“华数杯”国际大学生数学建模竞赛 (B题 ICM)| 光伏发电分析 |数学建模完整代码+建模过程全解全析

光伏发电是一种重要的可再生能源。将太阳能转化为电力可以减少对传统能源的依赖,具有显著的环保和可持续发展优势。全球范围内,光伏发电正在迅速发展。目前,许多国家将光伏发电作为推动清洁能源转型的重要手段。这些国家在政策支持、技术创新和市场发展方面增加了对光伏发电的投…

视频改字视频制作系统,祝福视频,告白视频改字系统搭建开发定制

一、视频改字制作系统功能介绍: 素材同步,极速下载,会员充值,达人分销,积分系统,精美UI, 卡密兑换, 直播挂载, 五端兼容:微信小程序,抖音小程序&…

Kafka-RecordAccumulator分析

前面介绍过,KafkaProducer可以有同步和异步两种方式发送消息,其实两者的底层实现相同,都是通过异步方式实现的。 主线程调用KafkaProducer.send方法发送消息的时候,先将消息放到RecordAccumulator中暂存,然后主线程就…

JVM实战(23)——内存碎片优化

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 学习必须往深处挖&…

I2C总线和通信协议详解 (超详细配42张高清图+万字长文)

I2C总线和通信协议详解 (超详细配42张高清图万字长文) I2C(Inter-Integrated Circuit)通信总线,作为嵌入式系统设计中的一个关键组成部分,其灵活性和高效率使其在高级应用中备受青睐。本文旨在提供关于I2C通信总线的深度解析&…