IO库条件状态
标志或函数 | 说明 |
---|---|
strm::iostream | strm是一种IO类型。iostate是一种机器相关的类型,提供了表达条件状态的完整功能 |
strm::badbit | strm::badbit 用来指出流已崩溃 |
strm::failbit | strm::failbit 用来指出一个IO操作失败了 |
strm::eofbit | strm::eofbit 用来指出流到达了文件结束 |
strm::goodbit | strm::goodbit 用来指出流未处于错误状态。此值保证为0 |
s.eof() | 若流s的eofbit置位,则返回true |
s.fail() | 若流s的failbit或badbit置位,则返回true |
s.bad() | 若流s的badbit置位,则返回true |
s.good() | 若流s处于有效状态,则返回true |
s.clear() | 将流s中所有条件状态位复位,将流的状态设置为有效。返回void |
s.clear(flags) | 根据给定的flags标志位,将流s中对应条件状态位复位。flags的类型为strm::iostream。返回void |
s.setstate(flags) | 根据给定的flags标志位,将流s中对应条件状态位置位。flags的类型为strm::iostream。返回void |
s.rdstate() | 返回流s的当前条件状态,返回值类型为strm:iostate |
fstream特有的操作
操作 | 说明 |
---|---|
fstream fstrm; | 创建一个未绑定的文件流。fstream是头文件fstream中定义的一个类型 |
fstream fstrm(s); | 创建一个fstream,并打开名为s的文件。 |
fstream fstrm(s,mode); | 与前一个构造函数类似,但按指定mode打开文件 |
fstrm.open(s) | 打开名为s的文件,并将文件与fstrm绑定。默认的文件mode依赖于fstream的类型。返回void |
fstrm.close() | 关闭与fstrm绑定的文件。返回void |
fstrm.is_open() | 返回一个bool值,指出与fstrm关联的文件是否是成功打开且尚未关闭 |
文件模式
模式 | 说明 |
---|---|
in | 以读方式打开 |
out | 以写方式打开 |
app | 每次写操作前均定位到文件末尾 |
ate | 打开文件后立即定位到文件末尾 |
trunc | 截断文件 |
binary | 以二进制文件进行IO |
stringstrem特有的操作
操作 | 说明 |
---|---|
sstream strm; | strm是一个未绑定的stringstream对象。sstream是头文件sstream中定义的一个类型 |
sstream strm(s); | strm是一个sstream对象,保存string s的一个拷贝。 |
strm.str() | 返回strm所保存的string的拷贝 |
strm.str(s) | 将string s拷贝到strm中。返回void |