cURL c ++ и gunzip - PullRequest
       18

cURL c ++ и gunzip

3 голосов
/ 11 марта 2011

Я работаю над программой, которая считывает заголовки из локона и выполняет поиск определенного заголовка, и, если он найден, распаковывает часть содержимого и ищет другую строку в содержимом.мне нужно реализовать последнюю часть.отдых сделан.Есть ли способ разархивировать содержимое изнутри программы c ++ и сохранить результат в другой строке и найти эту строку?

фрагменты кода было бы хорошо.спасибо.

Ответы [ 2 ]

4 голосов
/ 11 марта 2011

Использование Повышение Iostreams .Если buf является строкой, содержащей данные gzip'd,

namespace io = boost::iostreams;

io::filtering_istream gunzip;
gunzip.push(io::gzip_decompressor());
gunzip.push(std::istringstream(buf));

, тогда читайте из gunzip.

0 голосов
/ 11 марта 2011

Помимо самостоятельной реализации gunzip, используйте вызов execv () для самой программы gunzip и верните вывод в stdout (который затем передается в вашу программу).Кроме того, поиск строк, вероятно, лучше всего выполнять с использованием алгоритма Кнута-Морриса-Пратта.

...