IO类
头文件:<iostream> <fstream> <sstream>
支持宽字符wchar_t的类型:
wistream, wostream, wiostream
wifstream, wofstream, wfstream
wistringstream, wostringstream, wstringstream
wcin, wcout, wcerr
IO对象不支持拷贝和赋值
流的状态:
如果badbit, failbit, eofbit任一个被置位,则检测流状态条件会失败
管理输出缓冲
每个输出流都管理一个缓冲区,保存程序读写的数据
缓冲刷新的原因:
程序结束
缓冲区满
endl等操纵符
操纵符unitbuf设置流状态立即刷新(默认cerr设置unitbuf)
当读写被关联的流,关联到的流的缓冲区会被刷新(默认cin和cerr关联到cout,读写cin和cerr会导致count被刷新)
关联输入和输出流:
每个流同时最多关联到一个流,多个流可以同时关联到同一个ostream
文件输入输出
操作:
fstream、sstream继承自iostream
文件打开操作:
当fstream对象离开作用域,会被销毁,自动调用close
文件关联模式:
string流
istringstream从string读取数据;ostringstream向string写入数据;stringstream可读可写
stringstream操作:
stringstream可以将string按照空格进行切分:
使用ostringstream: