1
私は現在、.NETフレームワークのサポートなしでDeflateStreamの使用を含むC#コードを標準C++に移植しようとしています。そのような関数の一例は次のとおりです:DeflateStreamをC++で使用していますか?
public static byte[] ReadCompressed(this Stream stream)
{
var reader = new BinaryReader(stream);
int len = reader.ReadInt32();
var array = new byte[len];
var ds = new DeflateStream(stream, CompressionMode.Decompress);
ds.Read(array, 0, len);
ds.Close();
return array;
}
ちょうど、上記のコードをC++に移植する簡単な方法はありますか?ありがとう!
必要になりますzlib(http://zlib.net/)のようなサードパーティライブラリを必要とするか、ホイールの再発明が好きな人は、自分自身でdeflateアルゴリズムを実装してください。 – Joe
@Joe:C++でzlibを使用する方法についてのチュートリアルはありますか? – derekhh
元々.NET DeflateStreamクラスで圧縮された(またはその逆の)zlibでデータを圧縮解除する必要がある場合は、注意が必要です。 zlibには、DeflateStreamが生成しないデータの接頭辞と接尾辞が必要です。 http://tlzprgmr.wordpress.com/2010/03/17/net-deflatestreamzlib-compatibility/を参照してください。 – Ferruccio