C++ 文件基本操作

1 backgrand

    介绍C++ 下面的 fstream 类,以及用其进行基本的文件操作,和相关函数使用。


2 class

    

    

    其中istream 和 ostream分别用于输入流和输出流,一般使用时用一个#include<fstream>就可以包含一些基本的操作了。

3 function

    3.1 open();            

void open (const char* filename,
           ios_base::openmode mode = ios_base::in | ios_base::out);
void open (const string& filename,
           ios_base::openmode mode = ios_base::in | ios_base::out); //c++ 11

     1 填写不同的mode可以设置stream类型,写/读;设置偏移量到文件尾;设置追加写模式等;具体参数表可参考reference。

     2 对同一个stream同时操作时会导致 data race.

    3.2 read(); write(); 等更多函数可以参考文档,下面给出一个demo来说明简单的功能。    

// Copy a file
#include <fstream>      // std::ifstream, std::ofstream

int main () {
  std::ifstream infile ("test.txt",std::ifstream::binary);
  std::ofstream outfile ("new.txt",std::ofstream::binary);

  // get size of file
  infile.seekg (0,infile.end);
  long size = infile.tellg();
  infile.seekg (0);

  // allocate memory for file content
  char* buffer = new char[size];

  // read content of infile
  infile.read (buffer,size);

  // write to outfile
  outfile.write (buffer,size);

  // release dynamically-allocated memory
  delete[] buffer;

  outfile.close();
  infile.close();
  return 0;
}


4 referencr

    http://www.cplusplus.com/reference/fstream/fstream/


猜你喜欢

转载自blog.csdn.net/mistakk/article/details/80254640