#include<iostream>
#include<fstream>
#include<string>
#include<stdio.h>
using namespace std;
#define MAXBYTE 0xff
int main()
{
ifstream fin;
ofstream fout;
fin.open("D:\\q.mdb", ios_base::binary);
if (!fin.is_open())
{
cout << "Error In Open..." << endl;
return -1;
}
fout.open("D:\\CppFileOut.mdb", ios_base::binary);
if (!fout.is_open())
{
cout << "Error Out Open..." << endl;
return -1;
}
//获得文件的大小
fin.seekg(0, ios::end);
long fsize = fin.tellg();
cout << "文件大小 : " << fsize << endl;
//让文件的指针跑到文件头
fin.seekg(0, ios::beg);
long readLen = MAXBYTE;
char szin[MAXBYTE] = { 0 };
//文件大小比MAXBYTE小的情况下
if (fsize <= MAXBYTE)
readLen = fsize;
while (fin.read(szin, readLen))
{
fout.write(szin, readLen);
fsize -= MAXBYTE;
if (fsize <= MAXBYTE)
{
readLen = fsize;
}
//当文件比MAXBYTE小的时候就会出现<0,读写一次跳出就好了,=0不能跳
if (fsize < 0)
break;
}
cout << "OK" << endl;
fin.close();
fout.close();
return 0;
}
C++读写二进制文件
最新推荐文章于 2024-06-16 22:08:57 发布