std::basic_iostream
来自 cppreference.cn
| 定义于头文件 <istream> |
||
| template< class CharT, |
||
类模板basic_iostream为流上的高级输入/输出操作提供支持。支持的操作包括顺序读写和格式化。此功能在std::basic_streambuf类提供的接口之上实现。它通过std::basic_ios类访问。
继承图
提供了用于常见字符类型的几个 typedef
| 定义于头文件
<istream> | |
| 类型 | 定义 |
std::iostream
|
std::basic_iostream<char> |
std::wiostream
|
std::basic_iostream<wchar_t> |
目录 |
[编辑] 成员类型
| 成员类型 | 定义 |
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_iostream(受保护成员函数) |
| (C++11) |
与另一个basic_iostream交换状态(公共成员函数) |
继承自 std::basic_istream
成员函数
格式化输入 | |
| 提取格式化数据 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
非格式化输入 | |
| 提取字符 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
| 读取下一个字符而不提取它 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
| 取消提取字符 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
| 将字符放入输入流 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
| 提取字符直到找到给定字符 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
| 提取并丢弃字符直到找到给定字符 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
| 提取字符块 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
| 提取已有的字符块 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
| 返回上次未格式化输入操作提取的字符数 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
定位 | |
| 返回输入位置指示符 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
| 设置输入位置指示符 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
杂项 | |
| 与底层存储设备同步 ( std::basic_istream<CharT,Traits> 的公共成员函数) | |
成员类
| 为输入操作准备流实现基本逻辑 ( std::basic_istream<CharT,Traits> 的公共成员类) |
继承自 std::basic_ostream
成员函数
格式化输出 | |
| 插入格式化数据 ( std::basic_ostream<CharT,Traits> 的公共成员函数) | |
非格式化输出 | |
| 插入一个字符 ( std::basic_ostream<CharT,Traits> 的公共成员函数) | |
| 插入字符块 ( std::basic_ostream<CharT,Traits> 的公共成员函数) | |
定位 | |
| 返回输出位置指示器 ( std::basic_ostream<CharT,Traits> 的公共成员函数) | |
| 设置输出位置指示器 ( std::basic_ostream<CharT,Traits> 的公共成员函数) | |
杂项 | |
| 与底层存储设备同步 ( std::basic_ostream<CharT,Traits> 的公共成员函数) | |
成员类
| 实现流为输出操作准备的基本逻辑 ( std::basic_ostream<CharT,Traits> 的公共成员类) |
继承自 std::basic_ios
成员类型
| 成员类型 | 定义 |
char_type
|
CharT
|
traits_type
|
特性
|
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> 的公共成员函数) | |
检查是否没有发生错误(!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 I/O 库是否可互操作 ( std::ios_base 的公共静态成员函数) |
成员类 | |
| 流异常 ( std::ios_base 的公共成员类) | |
| 初始化标准流对象 ( std::ios_base 的公共成员类) | |
成员类型和常量 | |||||||||||||||||||||||||||||||||||||||
| 类型 | 解释 | ||||||||||||||||||||||||||||||||||||||
| 流打开模式类型 还定义了以下常量
(typedef) | |||||||||||||||||||||||||||||||||||||||
| 格式化标志类型 还定义了以下常量
(typedef) | |||||||||||||||||||||||||||||||||||||||
| 流状态类型 还定义了以下常量
(typedef) | |||||||||||||||||||||||||||||||||||||||
| 定位方向类型 还定义了以下常量
(typedef) | |||||||||||||||||||||||||||||||||||||||
| 指定事件类型 (枚举) | |||||||||||||||||||||||||||||||||||||||
| 回调函数类型 (typedef) | |||||||||||||||||||||||||||||||||||||||
[编辑] 缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
| 缺陷报告 | 应用于 | 发布时的行为 | 正确的行为 |
|---|---|---|---|
| LWG 271 | C++98 | 未定义成员类型char_type、traits_type、int_type、pos_type和off_type(std::basic_istream和std::basic_ostream都定义了这些类型,导致歧义) |
定义 这些类型 |