현재 bzlib.h 헤더를 사용하는 방법을 배우는 데 도움이 필요합니다. 아무도 그렇게 친절한 내가 어떤 부스트 라이브러리를 사용없이 C에서 compressToBZ2() 함수를 알아낼 수 있도록 친절하게 될지 궁금 해서요?bzlib.h를 사용하여 C++에서 BZ2 압축
void compressBZ2(std::string file)
{
std::ifstream infile;
int fileDestination = infile.open(file.c_str());
char bz2Filename[] = "file.bz2";
FILE *bz2File = fopen(bz2Filename, "wb");
int bzError;
const int BLOCK_MULTIPLIER = 7;
BZFILE *myBZ = BZ2_bzWriteOpen(&bzError, bz2File, BLOCK_MULTIPLIER, 0, 0);
const int BUF_SIZE = 10000;
char* buf = new char[BUF_SIZE];
ssize_t bytesRead;
while ((bytesRead = read(fileDestination, buf, BUF_SIZE)) > 0)
{
BZ2_bzWrite(&bzError, myBZ, buf, bytesRead);
}
BZ2_bzWriteClose(&bzError, myBZ, 0, NULL, NULL);
delete[] buf;
}
내가 뭘 하려던 것은 이와 같은 것을 사용하지만 운이 없었습니다. .bz2 파일을 가져 오려고합니다. .tar.bz2
어떤 도움이 필요합니까?
대단히 감사합니다. 이것은 완벽하게 작동했습니다. 나는 내가 그 (것)들에 너무 익숙하지 않기 때문에 나는 시내에 무언가를 잘못한 것이라고 생각했다. – allejo