c++11 标准模板(STL)(std::basic_istream)(一)

news2024/11/17 12:21:08
定义于头文件 <istream>
template<

    class CharT,
    class Traits = std::char_traits<CharT>

> class basic_istream : virtual public std::basic_ios<CharT, Traits>

类模板 basic_istream 提供字符流上的高层输入支持。受支持操作包含带格式的输入(例如整数值或空白符分隔的字符与字符串)和无格式输入(例如未处理字符和字符数组)。此功能以通过 basic_ios 基类访问的底层 basic_streambuf 类所提供的接口实现。大多数库实现中, basic_istream 有一个非继承数据成员:用于存储 basic_istream::gcount() 所返回的值。

 

它对常用字符类型定义了二个具体类:

定义于头文件 <istream>

类型定义
istreambasic_istream<char>
wistreambasic_istream<wchar_t>

全局对象

标准库提供二个全局 basic_istream 对象。

定义于头文件 <iostream>

cinwcin

从标准 C 输入流 stdin 中读取
(全局对象)

成员类型

成员类型定义
char_typeCharT
traits_typeTraits ;若 Traits::char_type 不是 CharT 则程序为病式。
int_typeTraits::int_type
pos_typeTraits::pos_type
off_typeTraits::off_type

成员函数

(构造函数)

构造对象
(公开成员函数)

(析构函数)

[虚]

析构对象
(虚公开成员函数)

operator=

(C++11)

从另一 basic_istream 移动赋值
(受保护成员函数)
带格式的输入

operator>>

提取带格式数据
(公开成员函数)
无格式输入

get

从流中读并取走(移除类似指针向下一个元素移动)一个字符
(公开成员函数)

peek

仅读出但不取走(不移除类似指针并未移动)一个字符
(公开成员函数)

unget

撤销流中刚取走(移除,类似指针向后退回一个位置)的字符
(公开成员函数)

putback

往输入流中退回一个字符
(公开成员函数)

getline

一直读并取走字符,直至找到给定字符
(公开成员函数)

ignore

读且取走并舍弃字符,直至发现给定字符
(公开成员函数)

read

读并取走一块字符
(公开成员函数)

readsome

读并取走已经可用的字符块
(公开成员函数)

gcount

返回上次无格式输出操作所取走的字符数量
(公开成员函数)
寻位

tellg

返回输入位置指示器
(公开成员函数)

seekg

设置输入位置指示器
(公开成员函数)
杂项

sync

与底层存储设备同步
(公开成员函数)

swap

(C++11)

交换流对象,除了关联的缓冲区
(受保护成员函数)

成员类

sentry

实现为输出操作准备流的基本逻辑
(公开成员类)

非成员函数

operator>>(std::basic_istream)

提取字符和字符数组
(函数模板)

继承自 std::basic_ios

成员类型

成员类型定义
char_typeCharT
traits_typeTraits
int_typeTraits::int_type
pos_typeTraits::pos_type
off_typeTraits::off_type

成员函数

状态函数

good

检查是否没有发生错误,例如是否可执行I/O操作
(std::basic_ios<CharT,Traits> 的公开成员函数)

eof

检查是否到达了文件末尾
(std::basic_ios<CharT,Traits> 的公开成员函数)

fail

检查是否发生了可恢复的错误
(std::basic_ios<CharT,Traits> 的公开成员函数)

bad

检查是否已发生不可恢复的错误
(std::basic_ios<CharT,Traits> 的公开成员函数)

operator!

检查是否有错误发生(fail() 的同义词)
(std::basic_ios<CharT,Traits> 的公开成员函数)

operator void*operator bool

(C++11 前)(C++11 起)

检查是否没有发生错误(!fail()的同义词)
(std::basic_ios<CharT,Traits> 的公开成员函数)

rdstate

返回状态标志
(std::basic_ios<CharT,Traits> 的公开成员函数)

setstate

设置状态标志
(std::basic_ios<CharT,Traits> 的公开成员函数)

clear

修改状态标志
(std::basic_ios<CharT,Traits> 的公开成员函数)
格式化

copyfmt

复制格式化信息
(std::basic_ios<CharT,Traits> 的公开成员函数)

fill

管理填充字符
(std::basic_ios<CharT,Traits> 的公开成员函数)
杂项

exceptions

管理异常掩码
(std::basic_ios<CharT,Traits> 的公开成员函数)

imbue

设置本地环境
(std::basic_ios<CharT,Traits> 的公开成员函数)

rdbuf

管理相关的流缓冲区
(std::basic_ios<CharT,Traits> 的公开成员函数)

tie

管理绑定的流
(std::basic_ios<CharT,Traits> 的公开成员函数)

narrow

窄化字符
(std::basic_ios<CharT,Traits> 的公开成员函数)

widen

拓宽字符
(std::basic_ios<CharT,Traits> 的公开成员函数)

 

继承自 std::ios_base

成员函数

格式化

flags

管理格式标志
(std::ios_base 的公开成员函数)

setf

设置特定格式标志
(std::ios_base 的公开成员函数)

unsetf

清除特定格式的标志
(std::ios_base 的公开成员函数)

precision

管理浮点操作的精度
(std::ios_base 的公开成员函数)

width

管理域的宽度
(std::ios_base 的公开成员函数)
本地环境

imbue

设置本地环境
(std::ios_base 的公开成员函数)

getloc

返回当前本地环境
(std::ios_base 的公开成员函数)
内部可扩展数组

xalloc

[静态]

返回能安全用作 pword() 和 iword() 下标的程序范围内独有的整数
(std::ios_base 的公开静态成员函数)

iword

如果有必要的话,调整私有存储的大小,并且访问位于提供的下标的long元素
(std::ios_base 的公开成员函数)

pword

若需要则重置私有存储的大小,并访问位于指定下标的 void* 元素
(std::ios_base 的公开成员函数)
杂项

register_callback

注册事件回调函数
(std::ios_base 的公开成员函数)

sync_with_stdio

[静态]

设置C++和C的IO库是否可以互操作
(std::ios_base 的公开静态成员函数)
成员类

failure

流异常
(std::ios_base 的公开成员类)

Init

初始化标准流对象
(std::ios_base 的公开成员类)

成员类型和常量

类型解释

openmode

流打开模式类型

亦定义下列常量:

常量解释
app每次写入前寻位到流结尾
binary以二进制模式打开
in为读打开
out为写打开
trunc在打开时舍弃流的内容
ate打开后立即寻位到流结尾

(typedef)

fmtflags

格式化标志类型

亦定义下列常量:

常量解释
dec为整数 I/O 使用十进制底:见 std::dec
oct为整数 I/O 使用八进制底:见 std::oct
hex为整数 I/O 使用十六进制底:见 std::hex
basefielddec|oct|hex 。适用于掩码运算
left左校正(添加填充字符到右):见 std::left
right右校正(添加填充字符到左):见 std::right
internal内部校正(添加填充字符到内部选定点):见 std::internal
adjustfieldleft|right|internal 。适用于掩码运算
scientific用科学记数法生成浮点类型,或若与 fixed 组合则用十六进制记法:见 std::scientific
fixed用定点记法生成浮点类型,或若与 scientific 组合则用十六进制记法:见 std::fixed
floatfieldscientific|fixed 。适用于掩码运算
boolalpha以字母数字格式插入并释出 bool 类型:见 std::boolalpha
showbase生成为整数输出指示数字基底的前缀,货币 I/O 中要求现金指示器:见 std::showbase
showpoint无条件为浮点数输出生成小数点字符:见 std::showpoint
showpos为非负数值输出生成 + 字符,见 std::showpos
skipws在具体输入操作前跳过前导空白符:见 std::skipws
unitbuf在每次输出操作后冲入输出:见 std::unitbuf
uppercase在具体输出的输出操作中以大写等价替换小写字符:见 std::uppercase

(typedef)

iostate

流状态类型

亦定义下列常量:

常量解释
goodbit无错误
badbit不可恢复的流错误
failbit输入/输出操作失败(格式化或提取错误)
eofbit关联的输出序列已抵达文件尾

(typedef)

seekdir

寻位方向类型

亦定义下列常量:

常量解释
beg流的开始
end流的结尾
cur流位置指示器的当前位置
(typedef)

event

指定事件类型
(枚举)

event_callback

回调函数类型
(typedef)

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

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

相关文章

C#核心知识回顾——11.各数据集合的汇总区分、委托、事件、匿名函数

变量: 无符号 byte正8位 ushort正16位 uint正32位 ulong正64位 有符号 sbyte8位 short16位 int32位 long64位 浮点数 float double decimal 特殊 char bool string 复杂数据容器: 枚举enum 结构体struct 数组(一维、二维、交错) [] [,] [][] 类 数据集合&#xff1a;…

ChatGPT 提示词设置

提示词 Prompt&#xff08;提示词&#xff09;&#xff1a;当我们询问GPT时&#xff0c;发送的消息就是Prompt。 通过给出合适的Prompt&#xff0c;可以让GPT了解我们的想法&#xff0c;在根据我们的想法做出更加合适的判断&#xff0c;帮助我们完成任务&#xff0c;提高效率。…

Oracle存储过程的使用DEMO(一)

文章目录 Oracle存储过程的使用DEMO&#xff08;一&#xff09;1. Oracle中块的使用2. IF使用2.1 IF...ELSE...2.2 IF嵌套 3. CASE...WHEN...4. LOOP5. WHILE6. FOR Oracle存储过程的使用DEMO&#xff08;一&#xff09; 1. Oracle中块的使用 DECLAREI NUMBER; BEGINSELECT EM…

Obfuscar的使用

1、在程序中nuget安装Obfuscar 2、在工程中新建Obfuscar.xml文件&#xff0c;内容如下 <?xml version1.0?> <Obfuscator><!-- 输入的工作路径&#xff0c;采用如约定的 Windows 下的路径表示法&#xff0c;如以下表示当前工作路径 --><!-- 推荐使用当前…

【Spring】项目创建和使用

一、Spring 的概念 Spring : 包含众多工具方法的 IoC 容器。 Spring 的核心 &#xff1a;IoC &#xff08;控制反转&#xff09;&#xff0c; DI (依赖注入)。 loC &#xff08;Inversion of Control&#xff09;翻译成中文就是 “控制反转” 的意思&#xff0c;控制反转一种…

嵌入式QT- QT使用MQTT

目录 一、MQTT介绍 二、MQTT概念 2.1 订阅(Subscribtion) 2.2 会话&#xff08;Session&#xff09; 2.3 主题名&#xff08;Topic Name&#xff09; 2.4 主题筛选器&#xff08;Topic Filter&#xff09; 2.5 消息订阅 三、MQTT中的角色 3.1 客户端 3.2 服务器 四、X86平…

2.1.cuda驱动API-概述

目录 前言1. Driver API概述总结 前言 杜老师推出的 tensorRT从零起步高性能部署 课程&#xff0c;之前有看过一遍&#xff0c;但是没有做笔记&#xff0c;很多东西也忘了。这次重新撸一遍&#xff0c;顺便记记笔记 本次课程学习精简 CUDA 教程-Driver API 概述 课程大纲可看下…

【UE】点击场景中的物体生成介绍标签

效果 步骤 首先创建一个控件蓝图添加如下控件 给水平框控件添加了一段动画&#xff0c;让该控件显示2秒钟&#xff0c;然后在2~3秒间位置上移并且不透明度减少 在图表中播放动画&#xff0c;延迟3秒后移除控件蓝图 在玩家控制的Pawn中添加如下节点 首先由“由通道检测线条”节…

基于Swing的校园管理系统

1 引言 1.1项目背景 我校积极举办组织学生参加各级各种科技、文艺、体育等校园文化活动&#xff0c;寓思想品德教育于生动活泼、形象具体的校园文化活动中。由于学校各级通讯不太方便&#xff0c;活动筹备过程中&#xff0c;无论是活动参与者的报名、观众的报名还是组织者的…

Image Sensor的FSIN/VSYNC

本文介绍Image Sensor的FSIN/VSYNC。 产品开发过程(比如3D成像)中&#xff0c;有时会遇到需要2个及以上的Image Sensor同步采集&#xff0c;因此&#xff0c;Image Sensor厂家对于他们的产品都提供了同步功能&#xff0c;也就是我们经常所见的FSIN/VSYNC(OV),XVS(Sony IMX3系列…

飞行动力学 - 第6节-part1-喷气式飞机的航时及等高航程 之 基础点摘要

飞行动力学 - 第6节-part1-喷气式飞机的航时及等高航程 之 基础点摘要 1. 续航性能2. 巡航受力运动方程3. 喷气式飞机3.1 航时3.2 航程3.3 等高巡航 4. 参考资料 1. 续航性能 耗油率航程航时 2. 巡航受力运动方程 6个方程表达式来进行表达&#xff1a; 3. 喷气式飞机 3.1 …

chatgpt api + function calling + 高德天气API + google custom search【联谷歌,联高德】

OpenAI 发布几个重磅更新 1、 开放 16k 上下文的 GPT-3.5-Turbo 模型&#xff08;gpt-3.5-turbo-16k&#xff09;&#xff0c;是目前的4倍 2、 新的 GPT-4 和 3.5 Turbo 模型 3、Chat Completions API 中的新增加函数调用功能 &#xff08;实时获取网络数据成为可能&#xff0…

SpringBoot2+Vue2实战(十二)springboot一对一,一对多查询

新建数据库表 Course Data TableName("t_course") public class Course implements Serializable {private static final long serialVersionUID 1L;/*** id*/TableId(value "id", type IdType.AUTO)private Integer id;/*** 课程名称*/private String…

如何成为微软MVP?

对一个普通的开发人员来说&#xff0c;最大的认可就是得到微软官方的MVP 认证了&#xff0c;是一份对技术人的荣誉证书。 微软的MVP是相对公平公正的&#xff0c;只要你热爱技术&#xff0c;热爱分享&#xff0c;在一定的领域里有足够的深度&#xff0c;就会得到微软官方的认证…

【沐风老师】3dMax使用Dreamscape插件创建漂亮的日落场景教程

在本教程中,您将学习如何利用3dMax和DreamScape在平静的海面上创造一个美丽的日落效果。DreamScape是3dMax的一套复杂的插件,可以让你创造和呈现现实的景观、海景、天空、云层、户外照明等等。 【最后效果预览】 步骤1&#xff1a;首先,要用DreamScape来呈现一个场景,你需要创…

【Linux学习】日积月累——进程(1)

一、背景 1.1 冯诺依曼体系结构 我们常见的计算机、服务器等设备大部分遵循冯诺依曼体系。 图1 冯诺依曼体系结构 当前&#xff0c;我们所认识的计算机&#xff0c;主要由各类硬件组成&#xff1a; 输入单元&#xff1a;包含键盘、鼠标、扫描仪、写板等&#xff1b;中央处理器…

Unity游戏开发之游戏动画(Unity动画系统)

文章目录 Unity动画系统动画片段 Animation Clip在Unity中制作动画动画复用 替身系统 AvatarAnimator 组件 Animator Component动画状态机 Animator Controller动画状态动画状态的类型动画状态的属性 动画状态机----动画转换转换属性的配置面板 、、、、 Unity动画系统 Unity动…

selenium 02

✏️作者&#xff1a;银河罐头 &#x1f4cb;系列专栏&#xff1a;JavaEE &#x1f332;“种一棵树最好的时间是十年前&#xff0c;其次是现在” 目录 等待浏览器的操作键盘事件鼠标事件定位一组元素多层框架定位下拉框处理弹窗处理上传文件操作关闭浏览器切换窗口截图 等待 s…

SOLIDWORKS小问题解答 硕迪科技

众所周知&#xff0c;SOLIDWORKS的使用者非常多&#xff0c;在使用过程中呢也会有一些小问题&#xff0c;前几天就有朋友来咨询了两个问题&#xff0c;可能其他使用者也有这样的问题&#xff0c;所以今天硕迪科技统一为大家解答 问题一&#xff1a;SOLIDWORKS装配图中的颜色怎么…

csv文件如何在单元格内保留换行 \r\n

csv文件如何在单元格内保留换行 \r\n 一、问题描述 我们都知道 csv 文件内是通过 , 来切分单元格的。 但如果某个单元格内的内容有换行&#xff1a; 34, KyleBing, 你好 # 这里换行了 我的名字是 kyebing 35, Tina, hello 36, Lucy, nice to meet you当用 Excel 打开的时候…