在ios,istream和ostream类中,还定义了若干输入输出函数,它们主要用于错误处理,流的刷新以及流输入输出方式的控制.
错误处理
在对一个流对象进行I/O操作时,可能会产生错误。当错误发生时,错误的性质被记录在ios类的一个数据成员中。
ios类中定义的描述错误状态的常量:
goodbit-------------没有错误,正常状态
eofbit--------------到达流的结尾
failbit-------------I/O操作失败,清除状态字后,可以对流继续进行操作。
badbit--------------试图进行非法操作,清除状态字后,流可能还可以使用。
hardfail------------致命错误,不可恢复的错误。
对应于这些位,可用ios中定义的如下函数来检查流的当前状态位:
int good()---------如果正常,返回非0值
int bad()----------如果badbit被设置,返回非0值
int eof()----------如果eofbit被设置,返回非0值
int fail()---------如果failbit被设置,返回非0值
int rdstate()------返回当前错误状态位.
流的其它成员函数可以从流中读取字符或字符串,对流进行无格式化的输入 输出操作,以及直接控制对流的I/O操作。
返回类型
ostream类的成员
描 述
ostream&
put(char ch)
向流中输出一个字符ch,不进行任何转换
ostream&
write(char*,int)
向流中输出指定长度的字符串,不进行转换
ostream&
flush( )
刷新流,输出所有缓冲的但还未输出的数据
ostream&
seekp(streampos)
移动流的当前指针到给定的绝对位置
ostream&
seekp(sereamoff,seek_dir)
流的当前指针类似与文件的当前指针
streampos
teelp( )
返回流的当前指针的绝对位置
istream类的成员函数
返回类型
istream类的成员
描 述
int
get( )
读取并返回一个字符
istream&
get(char&c)
读取字符并存入c中
istream&
putback( )
将最近读取的字符放回流中
istream&
read(char*,int)
读取规定长度的字符串到缓冲区中
int
peek( )
返回流中下一个字符,但不移动文件指针
istream&
seekg(streampos)
移动当前指针到一绝对地址
istream&
seekg(streampos,seek_dir)
移动当前指针到一相对地址
streampos
tellg( )
返回当前指针
其他地方找的,很多函数我也没常用过,自己看吧!