以前,C++でプロセスをPstreamsを使って開く方法について日記を書いたが,PstreamsはGPLなので,自分のソフトを修正BSDで公開したい場合には色々と面倒なのかなと思っており(全然問題ないのかもだが),常々他の方法,特に標準ライブラリ(もしくはそれに近いもの)で置き換えられないかと考えていた. 自分がやりたいのは,単にgzip圧縮されたファイルをストリームを使って読み込みたいというだけである. Pstreamを使うと,開いたプロセスをストリームから読み込むことができるようになるので,gunzipでファイルを解凍するプロセスをPstreamに渡すことで,一応目的は達成していた. Pstreamsでそれを行うには,以下のようにする. #include <iostream> #include "pstream.h" using namespace std; string comman