C++读写二进制文件

来源:互联网 发布:下载一个淘宝网 编辑:程序博客网 时间:2024/04/29 20:05
#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;}

0 0
原创粉丝点击