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