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/