iostream库是一个面向对象的库,它使用流提供输入和输出功能。
流是一种抽象,表示在其上执行输入和输出操作的设备。流基本上可以表示为长度不定的字符的源或目标。
流通常与字符的物理源或目标相关联,比如磁盘文件、键盘或控制台, 因此从我们称为流的抽象中获得或写入的字符是实际输入/输出到物理设备的。 例如,文件流是c++对象,用于操作和与文件交互;一旦文件流被用来打开文件, 在该流上执行的任何输入或输出操作都会在文件中真实地反映出来。
为了操作流,c++提供了标准的iostream库,该库包含以下元素:
基本类模板:ios_base | 流的基类 (class ) |
ios | 流的基类(依赖类型的组件) (class ) |
istream | 输入流 (class ) |
ostream | 输出流(class ) |
iostream | 输入输出流(class ) |
ifstream | 输入文件流(class ) |
ofstream | 输出文件流(class ) |
fstream | 输入/输出文件流(class ) |
istringstream | 字符串输入流(class ) |
ostringstream | 字符串输出流(class ) |
stringstream | 字符串输入输出流(class ) |
streambuf | 流的基本缓冲区(class ) |
filebuf | 文件流缓冲区(class ) |
stringbuf | 字串缓冲区流(class ) |
cin | 标准输入流(object ) |
cout | 标准输出流(object ) |
cerr | 标准错误流(object ) |
clog | 用于日志记录的标准输出流(object ) |
fpos | 流位置类模板 (class template ) |
streamoff | 流偏移量类型(type ) |
streampos | 流定位类型(type ) |
streamsize | 流大小类型(type ) |
boolalpha | 编码格式bool值(function ) |
dec | 使用十进制(function ) |
endl | 插入换行并刷新(function ) |
ends | 插入null字符(function ) |
fixed | 使用固定的浮点表示法(function ) |
flush | 刷新流缓冲区(function ) |
hex | 使用十六进制(function ) |
internal | 通过在内部位置插入字符来调整字段(function ) |
left | 调整输出到左边(function ) |
noboolalpha | 取消编码格式bool值(function ) |
noshowbase | 不显示基础数字前缀(function ) |
noshowpoint | 不显示小数点(function ) |
noshowpos | 不显示正负标志(function ) |
noskipws | 不要略过空格(function ) |
nounitbuf | 插入后不强制刷新(function ) |
nouppercase | 不生成大写字母(function ) |
oct | 使用八进制(function ) |
resetiosflags | 重置格式标记(function ) |
right | 将输出调整到右边(function ) |
scientific | 使用科学的浮点表示法(function ) |
setbase | 设置进制标志(function ) |
setfill | 设置填充字符(function ) |
setiosflags | 设置格式标志(function ) |
setprecision | 设置小数精度(function ) |
setw | 设置宽字符(function ) |
showbase | 显示基础数字前缀(function ) |
showpoint | 显示小数点(function ) |
showpos | 显示正负标志(function ) |
skipws | 略过空格(function ) |
unitbuf | 插入后刷新缓冲区(function ) |
uppercase | 生成大写字母(function ) |
ws | 提取空格(function ) |