我正在开发一个程序,该程序从 curl 执行读取标题并搜索特定标题,如果找到,则对内容部分进行压缩并在内容中搜索另一个字符串。我需要实施最后一部分。休息完成。有没有办法从 c++ 程序内部解压缩内容并将结果保存到另一个字符串并搜索该字符串?
代码片段会很好。谢谢。
使用Boost Iostreams。如果buf
是包含 gzip 数据的字符串,
namespace io = boost::iostreams;
io::filtering_istream gunzip;
gunzip.push(io::gzip_decompressor());
gunzip.push(std::istringstream(buf));
然后从gunzip
.
除了自己实现 gunzip 之外,对实际的 gunzip 程序使用 execv() 调用并将输出返回到标准输出(然后将其传递给您的程序)。此外,最好使用 Knuth-Morris-Pratt 算法来完成字符串搜索。