定义于头文件 <ios>
| template<     class CharT, | 
类 std::basic_ios 提供设施,以对拥有 std::basic_streambuf 接口的对象赋予接口。数个 std::basic_ios 对象能指涉一个实际的 std::basic_streambuf 对象。
继承图

还提供了两个对常见的字符类型的特化:
| 类型 | 定义 | 
| ios | basic_ios<char> | 
| wios | basic_ios<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 | 
公开成员函数
| (构造函数) | 构造对象 (公开成员函数) | 
| (析构函数) | 析构对象 (公开成员函数) | 
| operator= | 复制赋值运算符被删除 (公开成员函数) | 
| 状态函数 | |
| good | 检查是否没有发生错误,例如是否可执行I/O操作 (公开成员函数) | 
| eof | 检查是否到达了文件末尾 (公开成员函数) | 
| fail | 检查是否发生了可恢复的错误 (公开成员函数) | 
| bad | 检查是否已发生不可恢复的错误 (公开成员函数) | 
| operator! | 检查是否有错误发生(fail() 的同义词) (公开成员函数) | 
| operator void*operator bool (C++11 前)(C++11 起) | 检查是否没有发生错误(!fail()的同义词) (公开成员函数) | 
| rdstate | 返回状态标志 (公开成员函数) | 
| setstate | 设置状态标志 (公开成员函数) | 
| clear | 修改状态标志 (公开成员函数) | 
| 格式化 | |
| copyfmt | 复制格式化信息 (公开成员函数) | 
| fill | 管理填充字符 (公开成员函数) | 
| 杂项 | |
| exceptions | 管理异常掩码 (公开成员函数) | 
| imbue | 设置本地环境 (公开成员函数) | 
| rdbuf | 管理相关的流缓冲区 (公开成员函数) | 
| tie | 管理绑定的流 (公开成员函数) | 
| narrow | 窄化字符 (公开成员函数) | 
| widen | 拓宽字符 (公开成员函数) | 
受保护成员函数
| init | 初始化一个默认构造的std::basic_ios (受保护成员函数) | 
| move (C++11) | 从另一 std::basic_ios 移动,除了 rdbuf(受保护成员函数) | 
| swap (C++11) | 与另一 std::basic_ios 交换,除了 rdbuf(受保护成员函数) | 
| set_rdbuf | 替换 rdbuf而不清除其错误状态(受保护成员函数) | 
继承自 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 | 流打开模式类型 亦定义下列常量: 
 | ||||||||||||||||||||||||||||||||||||||
| fmtflags | 格式化标志类型 亦定义下列常量: 
 (typedef) | ||||||||||||||||||||||||||||||||||||||
| iostate | 流状态类型 亦定义下列常量: 
 (typedef) | ||||||||||||||||||||||||||||||||||||||
| seekdir | 寻位方向类型 亦定义下列常量: 
 (typedef) | ||||||||||||||||||||||||||||||||||||||
| event | 指定事件类型 (枚举) | ||||||||||||||||||||||||||||||||||||||
| event_callback | 回调函数类型 (typedef) | ||||||||||||||||||||||||||||||||||||||
注意
std::basic_ios 的直接实现仅储存以下成员(它们完全取决于模板形参,从而不能为 std::ios_base 的一部分):
- 用于填充的字符(参见 fill())
- 绑定的流指针(参见 tie())
- 关联的流缓冲区指针(参见 rdbuf())
实际实现各异:
Microsoft Visual Studio 储存了这三个成员。
LLVM libc++ 少储存了一个成员:它将 rdbuf 指针储存为 ios_base 的 void* 成员。
GNU libstdc++ 储存了 4 个额外的成员:三个缓存的 facet 和一个用于标识填充是否已初始化的标记。



















