1
현재 .NET Framework의 지원없이 표준 C++에 DeflateStream 사용과 관련된 일부 C# 코드를 이식하려고합니다. 이러한 함수의 한 예는 다음과 같습니다.C++에서 DeflateStream을 사용하고 있습니까?
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/)과 같은 제 3 자 라이브러리가 필요하거나 휠 재 발명을 원한다면 직접 수축 알고리즘을 구현하십시오. – Joe
@Joe : C++에서 zlib를 사용하는 방법에 대한 자습서가 있습니까? – derekhh
원래 .NET DeflateStream 클래스로 압축 된 zlib로 데이터의 압축을 풀어야하는 경우 (또는 그 반대) 조심해야합니다. zlib에는 DeflateStream이 생성하지 않는 데이터의 접두사와 접미사가 필요합니다. http://tlzprgmr.wordpress.com/2010/03/17/net-deflatestreamzlib-compatibility/를 참조하십시오. – Ferruccio