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.mfbz.cn/a/327842.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

如何快速看懂一篇英文AI论文?

已经2024年了,该出现一个写论文解读AI Agent了。 大家肯定也在经常刷论文吧。 但真正尝试过用GPT去刷论文、写论文解读的小伙伴,一定深有体验——费劲。其他agents也没有能搞定的,今天我发现了一个超级厉害的写论文解读的agent &#xff0c…

使用micro-app将现有项目改造成微前端,对现有项目实现增量升级

使用micro-app将现有项目改造成微前端,对现有项目实现增量升级 基座应用 1、安装依赖 npm i micro-zoe/micro-app --save2、在入口引入 //main.js import microApp from micro-zoe/micro-appnew Vue({ }) //在new Vue 下面执行 microApp.start()3、新增一个vue页…

harbor https

harbor https部署 准备docker-compose安装https 证书harbor安装访问harbor推镜像到harbor 准备 192.168.112.99,harbor,centos7 192.168.112.3,测试机,centos7 docker版本:docker-ce 20.10.16(部署参考&a…

imgaug库指南(28):从入门到精通的【图像增强】之旅(万字长文)

引言 在深度学习和计算机视觉的世界里,数据是模型训练的基石,其质量与数量直接影响着模型的性能。然而,获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此,数据增强技术应运而生,成为了解决这一问题的…

在Excel中如何打开VBA,这里提供两种方法

想在Excel中创建或添加自己的自定义Visual Basic脚本吗?第一步是了解如何在Excel中打开VBA编辑器。 在易用性和整体功能方面,没有其他电子表格应用程序能与Excel相提并论。无论你想做什么,只要你能深入挖掘Excel的深层菜单,就有很…

PTA——7-31 三角形判断

7-31 三角形判断 (15分) 给定平面上任意三个点的坐标(x​1​​,y​1​​)、(x​2​​,y​2​​)、(x​3​​,y​3​​),检验它们能否构成三角形。 输入格式: 输入在一行中顺序给出六个[−100,100]范围内的数字,即三个点的坐标x​1​​、y​1​​、x​2​…

深度学习笔记(八)——构建网络的常用辅助增强方法:数据增强扩充、断点续训、可视化和部署预测

文中程序以Tensorflow-2.6.0为例 部分概念包含笔者个人理解,如有遗漏或错误,欢迎评论或私信指正。 截图和程序部分引用自北京大学机器学习公开课 要构建一个完善可用的神经网络,除了设计网络结构以外,还需要添加一些辅助代码来增强…

Flume 之自定义Sink

1、简介 前文我们介绍了 Flume 如何自定义 Source, 并进行案例演示,本文将接着前文,自定义Sink,在这篇文章中,将使用自定义 Source 和 自定义的 Sink 实现数据传输,让大家快速掌握Flume这门技术。 2、自定…

【PostgreSQL】安装和常用命令教程

PostgreSQL window安装教程 window安装PostgreSQL 建表语句: DROP TABLE IF EXISTS student; CREATE TABLE student (id serial NOT NULL,name varchar(100) NOT NULL,sex varchar(5) NOT NULL,PRIMARY KEY (id) );INSERT INTO student (id, name, sex) VALUES (…

【电力电子】2 开、闭环单相桥式SPWM逆变仿真电路

【仅供参考】 【2022.11西南交大电力电子仿真】 目录 1 开环单相桥式SPWM逆变电路搭建及波形记录 2 闭环单相桥式SPWM逆变电路搭建及波形记录 1 开环单相桥式SPWM逆变电路搭建及波形记录 采用单极性调制法,按老师PPT(如下图)所示进行单相…

图解基础排序算法(冒泡、插入、选择)(山东大学实验二)

目录 ⚽前言: 🏐 冒泡排序: 设定: 分类: 起源: 图解冒泡: 图中绿色: 图中橙色: 整体思路: 交换思路: 核心代码: &#x…

基于WebSocket双向通信技术实现-下单提醒和催单(后端)

学习复盘和总结项目亮点。 扩展:该功能能应用在,各种服务类项目中。(例如:酒店、洗脚城等系ERP系中提醒类服务) 4. 来单提醒 4.1 需求分析和设计 用户下单并且支付成功后,需要第一时间通知外卖商家。通…

服务网关 Gateway

服务网关 Gateway Spring Cloud Gateway 是 Spring Cloud 生态系统中的网关,它基于 Spring5.0 SpringBoot2.0 WebFlux(基于高性能的 Reactor 模式响应式通信框架 Netty,异步非阻塞模型)等技术开发。旨在为微服务架构提供一种简…

如何在CentOS 7 中搭建Python 3.0 环境

1、下载 通过https://www.python.org/ftp/python/下载Python安装包,这里下载Python-3.10.9.tgz; 2、上传 借助MobaXterm等工具将Python安装包上传至/opt目录; 3、解压 将JDK压缩文件解压至/opt目录:tar -xvf /opt/Python-3.1…

React Store及store持久化的使用

1.安装 npm insatll react-redux npm install reduxjs/toolkit npm install redux-persist2. 使用React Toolkit创建counterStore并配置持久化 store/modules/counterStore.ts: import { createSlice } from reduxjs/toolkit// 定义状态类型 interface Action {…

Python数据分析案例33——新闻文本主题多分类(Transformer, 组合模型) 模型保存

案例背景 对于海量的新闻,我们可能需要进行文本的分类。模型构建很重要,现在对于自然语言处理基本都是神经网络的方法了。 本次这里正好有一组质量特别高的新闻数据,涉及 教育 科技 社会 时政 财经 房产 家居 七大主题,基本涵盖…

编译原理1.1习题 语言处理器

图源:文心一言 编译原理习题整理~🥝🥝 作为初学者的我,这些习题主要用于自我巩固。由于是自学,答案难免有误,非常欢迎各位小伙伴指正与讨论!👏💡 第1版:自…

HCIP -- ospf实验

要求: 实现: R3:int t 0/0/0ip address 172.16.1.4 255.255.255.248 (配置虚拟接口ip地址)tunnel-protocol gre p2mp (配置接口协议为p2mp)source 43.0.0.2 (配置源)osp…

【UE 材质】简单的纹理失真、溶解效果

目录 1. 失真效果 2. 溶解效果 3. 失真溶解 我们一开始有这样一个纹理 1. 失真效果 其中纹理节点“DistortTexture”的纹理为引擎自带的纹理“T_Noise01”,我们可以通过控制参数“失真度”来控制纹理的失真程度 2. 溶解效果 3. 失真溶解

奇安信天擎 rptsvr 任意文件上传漏洞复现

0x01 产品简介 奇安信天擎是奇安信集团旗下一款致力于一体化终端安全解决方案的终端安全管理系统(简称“天擎”)产品。通过“体系化防御、数字化运营”方法,帮助政企客户准确识别、保护和监管终端,并确保这些终端在任何时候都能可信、安全、合规地访问数据和业务。天擎基于…