libbzip2 проблема с файлами размером больше блока - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть код, который читает из файла, сжатого bzip2, используя функции совместимости zlib . Это работает в принципе, но оказывается, что чтение останавливается ровно после 900 000 байтов, то есть размера блока, используемого во время сжатия. Как я могу прочитать за границей блока в следующий блок, используя эти функции?

Вот очень простой тестовый код (обработка ошибок удалена):

BZFILE *h = BZ2_bzopen("file.bz2", "rb");
while( auto n = BZ2_bzread(h, buf, 1024) ) {
  printf("%d bytes read\n",n);
  ntot += n;
}

BZ2_bzclose(h);
printf("%ld bytes read\n",ntot);
...