바이트의 청크에서 파일을 작성,하지만 난 IOS : CUR을 사용하는 방법을 이해 할 수없는 것. 나는 전체 파일을 10 바이트 덩어리로 읽고, 그 바이트를 버퍼에 쓴 다음 그 버퍼를 다른 파일에 쓴다. 그것을 위해 나는 처음 10 바이트를 보내고 다음 10 바이트를 보낸다. 하지만 포인터가 마지막 반복 위치에서 시작하는지 어떻게 확인할 수 있습니까?읽고 C++ 내가 어디에서나 검색 한
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();
}
}
나는,이 개체가가 " "읽기, obj 쓰기. "파일 위치를 변경할 필요가 없습니다." 모든 읽기 작업 후에 파일 위치가 업데이트됩니다. " 붙여 넣은 코드에서 처음 10 바이트는 인쇄되지 않습니다. 나는 그 이유를 이해하지 못한다. :( – Basilisk
내 대답에 내 추가를 참조하십시오 –