ios,istream和ostream类对象返回值

来源:互联网 发布:签名识别软件 编辑:程序博客网 时间:2024/05/16 09:00
    在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( )                    返回当前指针
原创粉丝点击