我正在开发一个程序,该程序从卷曲中读取标题,执行并搜索特定的标题,如果找到,则将内容部分压缩并搜索内容中的另一个字符串。我需要实现最后一部分。剩下的就完成了。有没有办法从c++程序内部解压内容,并将结果保存到另一个字符串中并搜索该字符串?
代码片段会更好。谢谢。
发布于 2011-03-11 19:40:06
使用Boost Iostreams。如果buf是包含gzip数据的字符串,
namespace io = boost::iostreams;
io::filtering_istream gunzip;
gunzip.push(io::gzip_decompressor());
gunzip.push(std::istringstream(buf));然后从gunzip中读取。
发布于 2011-03-11 19:31:15
除了自己实现gunzip之外,还可以对实际的gunzip程序使用execv()调用,并将输出返回到stdout (然后将其传递给您的程序)。此外,字符串搜索最好使用Knuth-Morris-Pratt算法。
https://stackoverflow.com/questions/5272253
复制相似问题