我正在研究一個程序,該程序從捲曲執行中讀取頭文件,並搜索特定頭文件,如果找到,則對內容部分進行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算法完成。