1 istream、ostream类型,cin、cout、cerr是istream或ostream类型的具体的对象,<<和>>是操纵符

 getline函数的参数是istream和string类型的两个引用形参

 面向对象的标准库,3个头文件:iostream,fstream、sstream

 对应的类型:istream,ostream,iostream;ifstream,ofstream,fstream;istringstream,ostringstream,stringstream

2 标准库类型不能复制或赋值

 流对象不能存储在vector或其他容器中;形参或返回值不能使流对象,必须传递或返回流对象的指针或引用

3 流状态

 标准IO库类型定义的类型:

 strm::iostat 标准IO库类型内定义的类型,用于定义流状态

 数据成员:

 strm::badbit strm::iostat类型的值,用于指出被破坏的流

 strm::failbit  strm::iostat类型的值,用于指出失败的IO操作

 strm::eofbit  strm::iostat类型的值,用于指出流已经到达文件结束符

 成员函数:

 s.eof():是否设置eofbit

 s.fail():是否设置failbit

 s.bad():是否设置badbit

 s.good():流是否有效

 s.clear():清除流的所有状态值

 s.clear(flag):

 s.setstat(flag):

 s.rdstat():

4 刷新缓冲区操纵符:endl(换行刷新),flush(刷新,不添加任何内容),ends(刷新,添加一个空字符),unitbuf/nounitbuf(每次执行完写操作都刷新)

5 tie函数

 用于将输出流(实参)绑定到输入或输出流(调用对象)上,调用对象上的读写操作将刷新实参关联的缓冲区

 tie(ostream &):绑定到输出流

 ostream *tie():查询绑定的输出流

 tie(0):解除绑定

6 文件IO:

 ifstream infile(filepath,/*mode*/)

 ofstream outfile(filepath,/*mode*/)mode可以为in,out,ate,app,trunc,binary

 infile.open(filepath)如果文件流已经与某个文件绑定,则需要先close再open,注意close并不能改变流状态,clear才可以

 outfile.open(filepath)

 注意的是,IO标准库使用C风格字符串,可以调用string的c_str()成员将string对象转换为C风格字符串

 

 

 

 

05-11 11:31