C++中输入输出流及文件流操作总结

2020-01-06 15:51:54于海丽

4、标准输出流 cout

  流成员函数

C++,输入输出流,文件流

  cout.flush()      //清空缓冲区
  cout.put()        //把字符写入流中
  cout.write()      //将字符串写入当前输出流中

C++,输入输出流,文件流

  eg : cout.setf( ios::dec );

         cout.setf(ios::hex,ios::basefield);【建议使用这种】

 需注意:

1、fmtflags setf( fmtflags flags ); 使用这种,一定要先取消当前基【cout.unself()】,之后才可以设置新的基

 2、fmtflags setf( fmtflags flags, fmtflags needed ); 使用这种,第二个参数设为当前的基,或者当不知道当前基时,设为ios_base::basefield清除当前的所有可能的基   

控制符,头文件<iomanip>

C++,输入输出流,文件流

eg:  cout<<setw(5);

5、文件I/O

由于文件设备并不像显示器屏幕与键盘那样是标准默认设备,不能像cout那样预先定义的全局对象,所以我们必须自己定义一个该类的对象。

ifstream类,它是从istream类派生的,用来支持从磁盘文件的输入。

ofstream类,它是从ostream类派生的,用来支持向磁盘文件的输出。

fstream类,它是从iostream类派生的,用来支持对磁盘文件的输入输出。

文件原理

    文件打开都有一个文件指针,该指针的初始位置由I/O方式指定,每次读写都从文件指针的当前位置开始。每读入一个字节,指针就后移一个字节。当文件指针移到最后,就会遇到文件结束EOF(文件结束符也占一个字节,其值为-1),此时流对象的成员函数eof的值为非0值(一般设为1),表示文件结束 了。

    文件关闭,实际上是解除该磁盘文件与文件流的关联,原来设置的工作方式也失效,这样,就不能再通过文件流对该文件进行输入或输出

    文件类型:1、ASCII文件:文件的每一个字节中均以ASCII代码形式存放数据,即一个字节存放一个字符,这个文件就是ASCII文件(或称字符文件)。

     2、二进制文件:文件中的信息不是字符数据,而是字节中的二进制形式的信息,因此它又称为字节文件