C++I/O流——(2)预定义格式的输入/输出(第一节)

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

一起加油!

目录

预定义格式输出: 

 预定义格式输入:


        预定义格式的输入/输出是指按照系统预定义的格式进行的输入/输出操作。每个 C++程序都能使用标准 I/O 流,如标准输入、标准输出。cin 用来处理标准输人,即键盘输人; cout 用来处理标准输出,即屏幕输出。它们定义在头文件 iostream 中,使用 cin、cout 之前需要包含此文件,格式如下:

#include <iostream>

        iostream 头文件包含了对输入输出流进行操作所需的基本信息,因此大多数 C++程序都包括iostream。在 iostream 头文件中不仅定义了有关的类,还定义了四种流对象。

cin  标准输入流  键盘

cout  标准输出流  屏幕

cerr  标准错误流  屏幕 

clog  标准错误流  屏幕

预定义格式输出: 

        预定义的插入运算符“<<”,作用在流类对象 cout 上,实现默认格式的屏幕输出。使用 cout 输出表达式值到屏幕上的格式如下:

cout<<E1<<E2<<……<<Em;

        其中“<<”是预定义的重载运算符,cout 是标准输出设备的流对象名,E1、E2、···、Em 均为表达式,功能是计算各表达式的值,并将结果输出到屏幕当前光标处。
        使用插入符必须包含< iostream >文件,在 ostream 类有定义了一组对“<<”重载的函数,用它能输出各种基本类型的数据。

        选择参数为 char*的重载运算符函数,将字符串插入到 cout 流对象中,该函数返回值是 ostream类的对象引用,因此,可以连续使用插入符输出多个表达式的值。 


        cerr(console error)流对象是标准错误流,用于向标准错误输出设备输出有关出错信息。其用法与 cout 类似,但有一点不同: cout 流可以传送到显示器,也可以输出到磁盘文件,而 cerr 流只能显示器输出。clog (console log)流对象也是标准错误流,作用与cerr 相同,但有一个区别: cerr 不经过缓冲区直接输出到显示器;而 clog 流先存放在给缓冲区,缓冲区满或遇到 endl后再输出到显示器。

 预定义格式输入:

        “>>”是预定义的提取运算符,作用在流类对象 cin 上,用于实现默认格式的键盘输人使用cin将数据输入到变量的格式如下:

cin>>V1>>V2>>……>>Vn;

         其中,V1、V2、···、Vn 都是变量,cin 是istream类的派生类的对象,它从标准输入设备(键盘)获取数据,程序中的变量通过提取符“>>”从流中提取数据。用户输入数据时,各数据间用空格Tab 键或者换行符分隔。输入的数据类型要与接收变量的类型一致,输人完后按[Enter] 键结束。只有在键盘输入完数据并按[Enter] 键后,该行数据才被发送到缓冲区,形成输入流,提取运算符“>>”才能从中提取数据。在遇到无效字符或者文件结束符时,输入流 cin 就处于出错状态,即无法正常提取数据,此时对 cin 流的所有提取操作将被终止。当输入流 cin 处于出错状态时cin 的值为 false (0)。当输入流处于正常状态时,cin 的值为 true(非零值)。可以通过测试cin
的值,来判断流对象是否处于正常状态和提取操作是否成功。

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

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

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

相关文章

【C++】取整函数ceil(),floor(),round()

使用 //引入头文件 #include <cmath> //函数使用 double around(double x) double afloor(double x) double aceil(double x) 结果取值 floor(x) 返回是小于或等于x的最大整数&#xff0c;如floor(-9.9)-10,floor(9.9)9&#xff1b;若为整数&#xff0c;最后的结果等于本…

【设计模式】01-前言

23 Design Patterns implemented by C. 从本文开始&#xff0c;一系列的文章将揭开设计模式的神秘面纱。本篇博文是参考了《设计模式-可复用面向对象软件的基础》这本书&#xff0c;由于该书的引言 写的太好了&#xff0c;所以本文基本是对原书的摘抄。 0.前言 评估一个面向对…

如何利用大语言模型(LLM)打造定制化的Embedding模型

一、前言 在探索大语言模型&#xff08;LLM&#xff09;应用的新架构时&#xff0c;知名投资公司 Andreessen Horowitz 提出了一个观点&#xff1a;向量数据库是预处理流程中系统层面上最关键的部分。它能够高效地存储、比较和检索高达数十亿个嵌入&#xff08;也就是向量&…

unittest自动化测试框架

一、unittest简介 Unittest是python内置的一个单元测试框架&#xff0c;主要用于自动化测试用例的开发与执行 简单的使用如下 import unittestclass TestStringMethods(unittest.TestCase):def setUp(self):print("test start")def test_upper(self):self.assertE…

可以打印试卷的软件有哪些?推荐这几款

可以打印试卷的软件有哪些&#xff1f;随着科技的飞速发展&#xff0c;越来越多的学习工具如雨后春笋般涌现&#xff0c;其中&#xff0c;能够打印试卷的软件尤其受到广大学生和家长的青睐。这些软件不仅方便快捷&#xff0c;而且内容丰富&#xff0c;可以满足不同学科、不同年…

python学习笔记9(程序的描述方式、程序的组织结构、顺序结构、选择结构1)

&#xff08;一&#xff09;程序的描述方式 自然语言、流程图、伪代码 &#xff08;二&#xff09;程序的组织结构 顺序、选择、循环 &#xff08;三&#xff09;顺序结构 &#xff08;四&#xff09;选择结构1 if 1、条件写法1 2、如果只有一个判断的写法 3、注意冒号和缩进…

VUE指令(二)

vue会根据不同的指令&#xff0c;针对不同的标签实现不同的功能。指令是带有 v- 前缀的特殊标签属性。指令的职责是&#xff0c;当表达式的值改变时&#xff0c;将其产生的连带影响&#xff0c;响应式地作用于 DOM。 8、v-for&#xff1a;基于数据循环&#xff0c;多次渲染整个…

NOIP2013提高组day2 - T3:华容道

题目链接 [NOIP2013 提高组] 华容道 题目描述 小 B 最近迷上了华容道&#xff0c;可是他总是要花很长的时间才能完成一次。于是&#xff0c;他想到用编程来完成华容道&#xff1a;给定一种局面&#xff0c; 华容道是否根本就无法完成&#xff0c;如果能完成&#xff0c; 最少…

Element-ui图片懒加载

核心代码 <el-image src"https://img-blog.csdnimg.cn/direct/2236deb5c315474884599d90a85d761d.png" alt"我是图片" lazy><img slot"error" src"https://img-blog.csdnimg.cn/direct/81bf096a0dff4e5fa58e5f43fd44dcc6.png&quo…

debian cups 打印机共享

apt update apt install -y cups localhost:631 add printer root 密码 添加打印机 然后在windows上设置 http://ip:631/printers/HP_LaserJet_1022

[element-ui] 级联选择器el-cascader不触发change事件

el-cascader 使用官网的数据是可以的 官网数据中最后一级没有children // 删除最后一级的children changeKey(arr) {for (var i0; i<arr.length; i) {if (arr[i].children.length) {this.changeKey(arr[i].children)} else {delete arr[i].children}} ]就可以了 参考&…

javascript实现Vue框架中的Vuex状态管理,包含如何在组件之间传值和使用Event Bus传值的方法

在Vue.js中&#xff0c;可以使用Vuex来进行状态管理。Vuex是一个专为Vue.js应用程序开发的状态管理模式。 首先&#xff0c;需要通过npm安装Vuex&#xff1a; npm install vuex然后&#xff0c;在你的应用程序中创建一个store.js文件&#xff0c;并在其中导入Vue和Vuex&#…

HackTheBox - Medium - Linux - Shared

Shared Shared 是一台中等难度的 Linux 机器&#xff0c;它具有通向立足点的 Cookie SQL 注入&#xff0c;然后通过对 Golang 二进制文件进行逆向工程并利用两个 CVE 来获得 root shell 来提升权限。 外部信息收集 端口扫描 循例nmap Web枚举 查看证书 看到这个扫了一下vhos…

【字体,矢量图,matplotlib】Camera Ready中需要注意的几点

在论文被录用后&#xff0c;Camera Ready应该是最后需要准备的阶段&#xff0c;这时文章会被转换成PDF/A标准规范&#xff0c;因此原论文中的PDF如果有不合适的地方就会不通过转换&#xff0c;下面是需要注意的几点。 PDF裁剪 自己画的图有的是pdf格式&#xff0c;但是有空白…

superset未授权访问漏洞(CVE-2023-27524)复现

Superset是一个开源的数据探索和可视化平台。它由Apache软件基金会支持&#xff0c;旨在帮助用户通过直观的方式探索、分析和可视化复杂的数据集。Superset支持多种数据源&#xff0c;包括关系型数据库、NoSQL数据库和各种其他数据存储系统。Apache Superset 2.0.1 版本及之前版…

并发编程(四)

线程&#xff1a;数组形成的栈&#xff0c;方法的调用&#xff0c;出栈入栈 1、线程和进程的区别 资源占用&#xff1a;进程是拥有资源的基本单位&#xff0c;不同进程之间不可以共享资源。线程不占有资源&#xff0c;但一个进程内的所有线程可以共享进程内的资源。并发性&am…

Linux反向、分离解析与主从复制

前言 上篇介绍了DNS正向解析&#xff0c;本文将继续介绍反向解析与主从复制等内容。域名反向解析即从IP地址到域名的映射。为了完成逆向域名解析&#xff0c;系统提供一个特别域&#xff0c;该特别域称为逆向解析域。 目录 前言 一、反向解析 1. 配置bind服务 2. 修改区…

leetcode - 926. Flip String to Monotone Increasing

Description A binary string is monotone increasing if it consists of some number of 0’s (possibly none), followed by some number of 1’s (also possibly none). You are given a binary string s. You can flip s[i] changing it from 0 to 1 or from 1 to 0. Re…

Redis的设计、实现

数据结构和内部编码 type命令实际返回的就是当前键的数据结构类型,它们分别是:string(字符串)hash(哈希)、list(列表)、set(集合)、zset (有序集合),但这些只是Redis对外的数据结构。 实际上每种数据结构都有自己底层的内部编码实现,而且是多种实现,这样Redis会在合适的…

MVC设计模式

在当今的软件开发领域&#xff0c;MVC&#xff08;Model-View-Controller&#xff09;设计模式已经成为了一种广泛使用的架构模式。它为应用程序提供了一种结构化的方法&#xff0c;将数据、用户界面和业务逻辑分开&#xff0c;从而使得应用程序更易于维护、扩展和重用。 一、…