我到处搜索它,但我似乎无法理解如何使用 ios::cur。我需要以 10 个字节的块读取整个文件,将这些字节写入缓冲区,然后将该缓冲区写入另一个文件。为此,我发送前 10 个字节,然后发送接下来的 10 个字节,依此类推。但是我如何确保指针从最后一次迭代的位置开始?
char* data = 0;
int i = 0;
std::ifstream is("test.txt", std::ifstream::binary);
if (is)
{
is.seekg(0, is.end);
int size = is.tellg();
cout << size << endl;
ofstream obj;
obj.open("new.txt");
while (!is.eof())
{
for (; i <= size;)
{
is.seekg(i, is.beg);
int sz = is.tellg();
// cout<<sz<<endl;
data = new char[sz + 1]; // for the '\0'
is.read(data, sz);
data[sz] = '\0'; // set '\0'
cout << " data size: " << strlen(data) << "\n";
cout << data;
i = i + 10;
}
obj.close();
}
}