У меня есть куча смехотворно больших файлов (размером в несколько гигабайт) с очень высокой степенью сжатия (1: 200 или лучше). Я должен их обработать и хотел бы хотя бы показать какую-то оценку прогресса. По этой причине я хотел бы знать размер файла внутри .gz, чтобы я мог сравнить его с тем, что я уже вытащил.
Однако, поскольку распаковывать весь файл заранее каждый раз довольно непозволительно и бесполезно, я хотел бы вычислить размер, не делая этого.
Я знаю, что это возможно. Я могу просто открывать файлы gzip с помощью Total Commander, и плагин просмотра покажет мне нужный размер. (Я знаю, что он не распаковывается, потому что он сразу показывает мне размер, что было бы невозможно с файлом размером 10 ГБ внутри gzip.)
Вероятно, есть некоторые поля заголовка, которые содержат эту информацию.
Однако просматривая документацию по различным модулям CPAN я не мог найти ничего, что подходило бы по счету. IO :: Uncompress :: Gunzip позволяет мне получить заголовок , но он не содержит информации о размере файла. struct Foo {Foo (значение T) {} }; int main () {Foo MyFoo (123); возврат 0; } ошибка: отсутствует ...
Следующий код генерирует ошибку компиляции в Xcode:
template
struct Foo
{
Foo(T Value)
{
}
};
int main()
{
Foo MyFoo(123);
return 0;
}
ошибка: отсутствуют аргументы шаблона перед 'MyFoo'
Изменение Foo MyFoo (123);
на Foo
устраняет проблему, но не должен ли компилятор определить соответствующий тип данных?
Это ошибка компилятора, или я неправильно понимаю неявные параметры шаблона?