#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
//创建一个二进制文件
char buffer[10] = { 0,1,2,3,4,5,6,7,8,9 };
ofstream crt;
crt.open("D:\\1.bin", ios::binary);//2.bin是二进制文件
crt.exceptions(ifstream::eofbit | ifstream::failbit | ifstream::badbit);
crt.write(buffer, sizeof(char)*10);
crt.close();
//读取文件
ifstream in;
in.open("D:\\1.bin", ios::binary);//1.bin是二进制文件
in.exceptions(ifstream::eofbit | ifstream::failbit | ifstream::badbit);
in.seekg(0, ios_base::end);//移动到文件末尾
ifstream::pos_type len = in.tellg();//取得当前位置的指针长度->即文件长度
in.seekg(0, ios_base::beg);//重新定位指针到文件开始处
char *pBuf = NULL;
pBuf = new char[len];
in.read(pBuf, sizeof(char)*len);
in.close();
//写入刚才读取的文件
ofstream out;
out.open("D:\\2.bin", ios::binary);//2.bin是二进制文件
//out.exceptions(ifstream::eofbit | ifstream::failbit | ifstream::badbit);
out.write(pBuf, sizeof(char)*len);
out.close();
delete[]pBuf;
return 0;
}