c++基础--IO类

来源:互联网 发布:美国非农业就业数据 编辑:程序博客网 时间:2024/06/11 11:12

1、IO类

头文件iostream

    类型istream,wistream从流读取数据

    类型ostream,wostream向流写入数据

    类型iostream,wiostream读写数据

头文件fstream

    类型ifstream,wiftream从文件读取数据

    类型oftream,woftream向文件中写入数据

    类型fstream,wfstream读写数据

头文件sstream

    类型istringstream,wistringstream从string中读取数据

    类型ostringstream,wostringstream向string中写入数据

    类型stringstream,wstringstream读写数据

(继承,iftream,istingstream都继承与istream,IO对象无拷贝或者赋值)

2、条件状态

IO库中定义了iostate类型,表示流的状态。其中badbit流已经崩溃,failbit表示操作失败,eofbit表示流到达了文件结束,googbit表示流没有错误。定义了四个函数返回流的状态。bad(),fail(),eof(),good(),good默认为0。

如果遇到系统级错误,不可读写后,流的badbit置位。如果读取到一个错误的字符failbit置位,如果文件结束eofbit,failbit都会置位。如果badbit,eofbit,failbit中有一个置位的话检测流的条件会返回0。

3、输出缓冲区

每个输出流都管理一个输出缓冲区,来保护程度读写数据。将多个输出操作合并成一个。

将缓冲区刷新:程序结束,缓冲区满,关联输入和输出中需要输入时,endl = 刷新+换行,flush=刷新,ends=空格+刷新。

                      unibuf操作符,之后的输出都立即刷新,知道nounibuf。

4、关联输入输出

tie:cin.tie(&cout)当cin时,会刷新cout。(c++默认cin与cout关联)

5、文件输入输出

    ifstream fcin;//定义一个文件输入流
    ifstream fcin(s);//打开文件s
    ifstream fcin(s,mod);//以mod文件模式打开s
    fcin.open(s);//fcin流打开文件s
    fcin.close();//fcin关闭文件fstream

    对于一个已经打开的文件流调用open会失败,failbit会置位,所以当要开打新文件是,要先关闭之前已经关联的文件。

    文件模式:in以读的方式打开

                      out以写的方式打开(仅设out会清空文件)

                      app每次写操作都写到文件末尾

                      ate打开文件后直接到文件末尾

                      trunc截断文件

                      binary以二进制的方式打开

     ifstream默认以in模式打开,ofstream以out打开,fstream以in和out打开。

6、string流

    scin.str(s)将string s拷贝到scin中返回void

    scin.str()将返回scin中的字符串


0 0
原创粉丝点击