Форум — Development Чтение архива *.bz2 через open в C по аналогии с bzcat 0 0 Как читать архив *.bz2 через open() в C по аналогии с bzcat? т.е. на лету распаковывая в буфер и читая из него? Ссылка
#!/usr/bin/python import bz2 a = bz2.BZ2File('a.bz.2','r') a.readlines() такой вариант не подойдет? anonymous (03.12.04 04:20:27 MSK) Показать ответ Ссылка
Ответ на: комментарий от anonymous 03.12.04 04:20:27 MSK Повторяю, язык "C" ! anonymous (03.12.04 04:57:29 MSK) Ссылка
ftp://sources.redhat.com/pub/bzip2/docs/manual_3.html#SEC26 BZ2_bzOpenRead и поехали делать BZ2_bzRead... int19h ★★★★ (03.12.04 06:44:29 MSK) Ссылка
#include <stdio.h> #include <stdlib.h> main(int argc, char *argv[]) { char cmd[256], buf[256]; FILE *fp = 0; snprintf(cmd, sizeof(cmd)/sizeof(*cmd), "bzip2 -dc %s", argv[1]); fp = popen(cmd, "r"); if(!fp) { perror("popen bzip2"); exit(1); } while(fgets(buf, sizeof(buf)/sizeof(*buf), fp)) { printf(":%s", buf); } fclose(fp); return 0; } anonymous (03.12.04 13:11:28 MSK) Показать ответ Ссылка
Ответ на: комментарий от anonymous 03.12.04 13:11:28 MSK Не, вот так проще: #include <stdlib.h> int main(int argc, char *argv[]) { setenv("file", argc > 1 ? argv[1] : "", 1); return system("bzcat \"$file\""); } nobody ★★ (03.12.04 20:09:59 MSK) Ссылка