等效于:

#include <ios>
#include <streambuf>
#include <istream>
#include <ostream>
 
namespace std { 
    extern istream cin;
    extern ostream cout;
    extern ostream cerr;
    extern ostream clog;
 
    extern  wistream wcin;
    extern  wostream wcout;
    extern  wostream wcerr;
    extern  wostream wclog; 
}

使用cin输入数据时,前导的空白符(whitespace)与后缀的空白符均被忽略。如果需要读入使用这些空白符,用get()函数返回输入流对象的下一个字符。peek()函数返回输入流对象的下一个字符,但并不把它从输入流中抛弃。putback()函数把一个字符放回输入流对象的下一个字符位置。

用getline()从输入流的当前位置读入所有字符(包含前导空白符),直至遇到回车符(从流中抛掉)为止,保存在string变量中;截至字符也可以指定。

fail()函数用来检查流对象上一个操作是否成功。clear()用来清除流对象的刚刚的失败标志。

eof()函数检查输入流对象是否到了文件底部。

cin.ignore(N,ch)忽略(读并抛弃)N个字符,或者直至遇到ch字符为止。

manipulator是控制输入输出格式的对象,包括:

  • endl
  • flush

为了在条件表达式里使用流对象,IOStream library重载了两个操作符void *和!。其中类型强制转换运算符void *用来测试如 if (stream object) ,运算符!用于测试如 if (!(stream object))