1
기존 파일의 끝 부분을 어떻게 찾습니까?기존 파일의 끝을 넘어서 어떻게 찾습니까?
나는 1000 바이트 인 test.bin
을 가지고 있습니다.
그때 나는 새로운 파일 크기는 1011 바이트 것으로 예상이 예제를 실행 한 후
std::filebuf fbuf;
fbuf.open("c:\\test.bin", std::ios_base::in | std::ios_base::out | std::ios_base::app | std::ios_base::binary);
fbuf.pubseekoff(10, std::ios_base::end);
fbuf.sputc(1);
fbuf.close();
다음 실행합니다. 그러나 기존 파일의 끝에 0x01을 추가하여 1001 바이트로 만듭니다.
흥미롭게도 그것이 새로운 파일 일 때 내가 원하는 방식으로 작동하지만.
Windows 7 x64에서 실행 중이지만 대상 플랫폼은 우분투입니다.
즉, 기존 파일에 추가 공간을 신속하게 사전 할당 할 수 없습니까? – expert
그것은 사소한 일입니다. 파일의 끝 부분을 지나서 작성하십시오. 그러나 코드는 그렇게하지 않습니다. 파일의 끝에 *를 씁니다. –
Нузю 그게 내가하려는거야. 나는'pubseekoff'가 파일의 끝을 지나서 위치를 옮길 것을 기대했다. 내 코드에서 무엇을 변경해야합니까? – expert