我有这个程序,我想以每个 2 kb 的小部分读取数据,然后将其写入文件,但是当我尝试这样做时,它会读取和写入我的文件四次。这是我的代码:
#include<fstream>
#include<iostream>
using namespace std;
ifstream::pos_type size; // use if file is larger than 2 gb
int main()
{
char *memblock=0;
ifstream in("file.txt", ios::in | ios::binary | ios::ate);
ofstream in1("file1.txt", ios::out | ios::binary | ios::ate);
size = in.tellg();
cout << "Size of file "<< size << endl;
float sz= size/2048.0;
int sizechck = ceil(sz);
cout<< "size is "<<sizechck;
if(in.is_open())
{
memblock = new char [2048];
for (j=0;j<=sizechck;j++)
{
in.seekg (j*2048,ios::beg);
in.read (memblock, 2048);
in1.write(memblock,2048);
}
}
system("pause");
return 0;
}