在线文档教程
C++
输入/输出 | Input/output

std::basic_istream

性病:基本[医]iStream

Defined in header
template< class CharT, class Traits = std::char_traits<CharT> > class basic_istream : virtual public std::basic_ios<CharT, Traits>

类模板basic_istream提供对字符流的高级输入操作的支持。支持的操作包括格式化的输入%28例如。整数值或空格分隔字符和字符串%29和未格式化输入%28等。原始字符和字符数组%29。此功能是根据基础提供的接口实现的。basic_streambuf类,通过basic_ios基类。的唯一非继承数据成员。basic_istream,在大多数实现中,是由basic_istream::gcount()...

二次

二次

继承图

定义了两种常见字符类型的专门化:

在标头中定义<istream>

*。

类型定义

iStream Basic[医]iStream<char>

wistream Basic[医]iStream<wchar[医]T>

全局对象

二全局基[医]iStream对象由标准库提供。

在标头中定义<iostream>

*。

从标准C输入流stdin%28全局对象%29中读取

成员类型

Member typeDefinition
char_typeCharT
traits_typeTraits
int_typeTraits::int_type
pos_typeTraits::pos_type
off_typeTraits::off_type

成员函数

(constructor)constructs the object (public member function)
(destructor) virtualdestructs the object (virtual public member function)
operator= (C++11)move-assigns from another basic_istream (protected member function)

格式化输入

>>提取格式化数据%28公共成员函数%29

未格式化输入

提取字符%28公共成员函数%29

PEEK读取下一个字符而不提取它%28公共成员函数%29

取消提取字符%28公共成员函数%29

将字符放入输入流%28公共成员函数%29

getline提取字符,直到找到指定字符%28公共成员函数%29

忽略提取和丢弃字符,直到找到指定字符%28公共成员函数%29

读取字符块%28公共成员函数%29

Readome提取已经可用的字符块%28公共成员函数%29

gcount返回上次未格式化输入操作提取的字符数%28公共成员函数%29

定位

tellg返回输入位置指示符%28公共成员函数%29

Sekg设置输入位置指示器%28公共成员功能%29

杂类

同步与底层存储设备%28公共成员函数%29同步

交换%28C++11%29交换流对象,但关联缓冲区%28受保护的成员函数%29除外

成员类

sentryimplements basic logic for preparation of the stream for input operations (public member class)

非会员职能

operator>>(std::basic_istream)extracts characters and character arrays (function template)

继承自性病:基本[医]IOS

成员类型

Member typeDefinition
char_typeCharT
traits_typeTraits
int_typeTraits::int_type
pos_typeTraits::pos_type
off_typeTraits::off_type

成员函数

状态函数

*。

如果没有发生错误,即I/O操作可用的是std::basic的%28公共成员函数。[医]IOS%29

EOF检查文件结束是否已达到std::basic的%28公共成员函数[医]IOS%29

如果发生错误,失败检查fdd::basic的公共成员函数%28[医]IOS%29

错误检查是否发生了不可恢复的错误::basic的公共成员函数%28[医]IOS%29

操作符%21检查错误是否发生了%28同义词失败%28%29%29%28公共成员函数的std::basic[医]IOS%29

操作员空隙%2A操作符bool%28直到C++11%29%28,因为C++11%29检查是否发生了错误%28同义词%21失败%28%29%29%28公共成员函数的std::Basic[医]IOS%29

rdstate返回std::basic的状态标志%28公共成员函数[医]IOS%29

setstate设置std::basic的状态标志%28公共成员函数[医]IOS%29

清除错误和标志的eof标志%28公共成员函数的STD::Basic[医]IOS%29

格式化

复制格式信息%28公共成员函数的STD::Basic[医]IOS%29

Fill管理std::basic的填充字符%28公共成员函数[医]IOS%29

杂类

异常管理STD::Basic的异常掩码%28公共成员函数[医]IOS%29

Imbue设置std::basic的locale%28公共成员函数[医]IOS%29

rdbuf管理std::basic的关联流缓冲区%28公共成员函数[医]IOS%29

TIE管理绑定流%28 STD::Basic的公共成员函数[医]IOS%29

窄缩字符%28公共成员函数的STD::Basic[医]IOS%29

拓宽字符%28公共成员函数的STD::BASIC[医]IOS%29

继承自科技促进发展:监督办[医]底座

成员函数

格式化

*。

标志管理std::IOS的格式标志%28公共成员函数[医]基数%29

SETF设置STD::IOS的特定格式标志%28公共成员函数[医]基数%29

unsetf清除std::IOS的特定格式标志%28公共成员函数[医]基数%29

精度管理浮点操作的十进制精度STD::IOS的公共成员函数%28[医]基数%29

宽度管理STD::IOS的字段宽度%28公共成员函数[医]基数%29

地区

Imbue设置STD::IOS的locale%28公共成员函数[医]基数%29

getloc返回std::IOS的当前locale%28公共成员函数[医]基数%29

内部可扩展数组

xalloc静态返回一个程序范围的唯一整数,该整数可以安全地用作pword%28%29和iword%28%29%28的索引,该索引用于std::IOS的公共静态成员函数。[医]基数%29

iword在必要时调整私有存储空间的大小,并在给定的STD::IOS的索引%28公共成员函数中访问长元素。[医]基数%29

pword在必要时调整私有存储空间的大小,并访问空存储空间。%2A在给定索引%28公共成员函数下的[医]基数%29

杂类

寄存器[医]回调注册事件回调函数%28公共成员函数的std::IOS[医]基数%29

同步[医]带着[医]斯迪奥静态设置C++和CIO库是否可互操作STD::IOS的公共静态成员函数%28[医]基数%29

成员类

错误流异常%28公共成员类STD::IOS[医]基数%29

初始化标准流对象%28公共成员类std::IOS[医]基数%29

成员类型和常量

*。

类型解释

开放模式流开放模式类型还定义了以下常量:常量解释应用程序在每次写入二进制文件之前,在二进制模式下以开放的方式打开,读取,读,写,中继,在打开时丢弃流的内容。在打开%28ty胡枝子%29常量解释应用程序之后的流结束,在每次以二进制模式以开放方式打开二进制之前,在打开以供写入中继之前寻求流的结束。当打开时,溪流在打开后立即寻觅到流的末端。

常量解释

在每次写入之前,应用程序都要到流的末尾。

二进制模式打开

开放阅读

开放写作

当打开时,trunc丢弃流的内容。

在打开后立即寻找到流的尽头。

格式标志类型还定义了以下常量:常量解释使用十进制基表示整数I/O:请参见std::dec八进制用于整数I/O:请参见std::oct十六进制对整数I/O使用十六进制基:请参阅std::十六进制字段dec奥克特六角0.用于掩蔽操作,左调整%28将填充字符添加到右侧%29:请参见std::左右调整%28向左%29添加填充字符:请参阅std::右内部调整%28将填充字符添加到内部指定点%29:参见std::内部调整字段左右内部。用于掩蔽操作使用科学符号生成浮点类型,如果与固定符号结合则使用十六进制符号:请参见std::使用固定符号生成浮点类型,或与科学结合使用十六进制符号:请参见std::固定浮动场科学。固定28%科学固定%290.用于掩蔽操作boolalpha插入和提取字母数字格式的bool类型:参见std::boolalpha显示基生成一个前缀,指示整数输出的数字基。需要货币I/O中的货币指示器:请参阅std::showbase显示点无条件地为浮点数输出生成十进制字符:请参见std::showpoint显示为非负数字输出生成一个+字符:请参阅std::showpos跳过某些输入操作前的空格:请参阅std::skipws在每次输出后刷新输出。操作:请参阅std::unitbuf大写字母,在某些输出输出操作中用大写字母替换其大写字母:请参见std::uppercase%28tydurif%29常量解释--Dec对整数I/O使用十进制基:参阅std::dec---整数I/O使用八进制基:参见std::Oct hex使用十六进制。整数I/O的基数:参见std::十六进制基场奥克特六角0.用于掩蔽操作,左调整%28将填充字符添加到右侧%29:请参见std::左右调整%28向左%29添加填充字符:请参阅std::右内部调整%28将填充字符添加到内部指定点%29:参见std::内部调整字段左右内部。用于掩蔽操作使用科学符号生成浮点类型,如果与固定符号结合则使用十六进制符号:请参见std::使用固定符号生成浮点类型,或与科学结合使用十六进制符号:请参见std::固定浮动场科学。固定28%科学固定%290.用于掩蔽操作boolalpha插入和提取字母数字格式的bool类型:参见std::boolalpha显示基生成一个前缀,指示整数输出的数字基。需要货币I/O中的货币指示器:请参阅std::showbase显示点无条件地为浮点数输出生成十进制字符:请参见std::showpoint显示为非负数字输出生成+字符:请参阅std::showpos跳过某些输入操作前的空格:在每次输出操作后,单位单位刷新输出:参见std::unitbuf大写,在某些输出输出操作中用大写字母替换某些小写字母:参见std::

常量解释

整数I/O使用十进制基数:参见std::dec

整数I/O使用八进制基:参见std::oct

十六进制对整数I/O使用十六进制基:参见std::十六进制

基场DEC奥克特六角0.用于掩蔽操作

左调整%28向右添加填充字符%29:参见std::左侧

向右调整%28将填充字符添加到左侧%29:参见std::右侧

内部调整%28将填充字符添加到内部指定点%29:参见std::

调整域左右内部。用于掩蔽操作

使用科学表示法生成浮点类型,如果与固定符号结合,则生成十六进制表示法:参见std::Science

固定使用固定符号生成浮点类型,如果与科学相结合,则生成十六进制符号:请参见std::fix。

浮场科学固定28%科学固定%290.用于掩蔽操作

字母数字格式的boolalpha插入和提取bool类型:参见std::boolalpha

Displaybase生成一个前缀,表示整数输出的数字基,需要货币I/O中的货币指示符:参见std::showbase

显示点无条件地为浮点数输出生成小数点字符:请参见std::showpoint。

Displaypos为非负数字输出生成一个+字符:参见std::howpos

在某些输入操作之前跳过前导空格:参见std::skipws

在每次输出操作后刷新输出:参见std::unitbuf

在某些输出输出操作中,用大写字母替换某些小写字母:参见std::

流类型的iostate状态也定义了以下常量:常量解释,好位,无错误坏比特,不可恢复的流错误,输入/输出操作失败,28格式或提取错误,29 eofbit相关输入序列已达到文件末尾%28tyduf%29,常量解释好位,无错误位。不可恢复的流错误失败位输入/输出操作失败%28格式或提取错误%29 eofbit相关输入序列已达到文件末尾。

常量解释

好比特没有错误

坏比特不可恢复流错误

失败位输入/输出操作失败%28格式或提取错误%29

eofbit相关联的输入序列已达到文件的末尾。

寻找方向类型还定义了以下常数:常量解释求流结束,流结束,流位置指示符的当前位置,指示符%28,胡枝子%29,常量解释,请求流结束的开头。流的末尾是流位置指示器的当前位置。

常量解释

乞求溪头

结束流的结束

流位指示器的当前位置

事件指定事件类型%28 enum%29。

事件[医]回调函数类型%28

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/io/basic[医]iStream