std::basic_istream_C++中文网

    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() 所返回的值。

cpp/io/ios basecpp/io/basic ios

std-basic istream-inheritance.svg

继承图

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

定义于头文件 <istream>

 
类型 定义
istream basic_istream<char>
wistream basic_istream<wchar_t>

全局对象

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

成员类型

 
成员类型 定义
char_type CharT
traits_type Traits ;若 Traits::char_type 不是 CharT 则程序为谬构。
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

成员函数

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

(C++11)

从另一 basic_istream 移动赋值
(受保护成员函数)
带格式的输入
提取带格式数据
(公开成员函数)
无格式输入
从流中读并取走(移除类似指针向下一个元素移动)一个字符
(公开成员函数)
仅读出但不取走(不移除类似指针并未移动)一个字符
(公开成员函数)
撤销流中刚取走(移除,类似指针向后退回一个位置)的字符
(公开成员函数)
往输入流中退回一个字符
(公开成员函数)
一直读并取走字符,直至找到给定字符
(公开成员函数)
读且取走并舍弃字符,直至发现给定字符
(公开成员函数)
读并取走一块字符
(公开成员函数)
读并取走已经可用的字符块
(公开成员函数)
返回上次无格式输出操作所取走的字符数量
(公开成员函数)
寻位
返回输入位置指示器
(公开成员函数)
设置输入位置指示器
(公开成员函数)
杂项
与底层存储设备同步
(公开成员函数)

(C++11)

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

成员类

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

非成员函数

继承自 std::basic_ios

成员类型

 
成员类型 定义
char_type CharT
traits_type Traits
int_type Traits::int_type
pos_type Traits::pos_type
off_type Traits::off_type

成员函数

状态函数
检查是否没有发生错误,例如是否可执行I/O操作
(std::basic_ios<CharT,Traits> 的公开成员函数)
检查是否到达了文件末尾
(std::basic_ios<CharT,Traits> 的公开成员函数)
检查是否发生了可恢复的错误
(std::basic_ios<CharT,Traits> 的公开成员函数)
检查是否已发生不可恢复的错误
(std::basic_ios<CharT,Traits> 的公开成员函数)
检查是否有错误发生(fail() 的同义词)
(std::basic_ios<CharT,Traits> 的公开成员函数)

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

检查是否没有发生错误(!fail()的同义词)
(std::basic_ios<CharT,Traits> 的公开成员函数)
返回状态标志
(std::basic_ios<CharT,Traits> 的公开成员函数)
设置状态标志
(std::basic_ios<CharT,Traits> 的公开成员函数)
修改状态标志
(std::basic_ios<CharT,Traits> 的公开成员函数)
格式化
复制格式化信息
(std::basic_ios<CharT,Traits> 的公开成员函数)
管理填充字符
(std::basic_ios<CharT,Traits> 的公开成员函数)
杂项
管理异常掩码
(std::basic_ios<CharT,Traits> 的公开成员函数)
设置本地环境
(std::basic_ios<CharT,Traits> 的公开成员函数)
管理相关的流缓冲区
(std::basic_ios<CharT,Traits> 的公开成员函数)
管理绑定的流
(std::basic_ios<CharT,Traits> 的公开成员函数)
窄化字符
(std::basic_ios<CharT,Traits> 的公开成员函数)
拓宽字符
(std::basic_ios<CharT,Traits> 的公开成员函数)

继承自 std::ios_base

成员函数

格式化
管理格式标志
(std::ios_base 的公开成员函数)
设置特定格式标志
(std::ios_base 的公开成员函数)
清除特定格式的标志
(std::ios_base 的公开成员函数)
管理浮点操作的精度
(std::ios_base 的公开成员函数)
管理域的宽度
(std::ios_base 的公开成员函数)
本地环境
设置本地环境
(std::ios_base 的公开成员函数)
返回当前本地环境
(std::ios_base 的公开成员函数)
内部可扩展数组

[静态]

返回能安全用作 pword() 和 iword() 下标的程序范围内独有的整数
(std::ios_base 的公开静态成员函数)
如果有必要的话,调整私有存储的大小,并且访问位于提供的下标的long元素
(std::ios_base 的公开成员函数)
若需要则重置私有存储的大小,并访问位于指定下标的 void* 元素
(std::ios_base 的公开成员函数)
杂项
注册事件回调函数
(std::ios_base 的公开成员函数)
设置C++和C的IO库是否可以互操作
(std::ios_base 的公开静态成员函数)
成员类
流异常
(std::ios_base 的公开成员类)
初始化标准流对象
(std::ios_base 的公开成员类)