C# 在C+中使用DeflateStream+;? 我目前尝试将一些包含CurraseTestRAM的C代码移植到标准C++中,而不支持.NETFramework。此类功能的一个示例是: 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++中?谢谢
您可能需要使用。在C++中实现这一点的最简单方法是使用.< /p> 我不完全确定您的示例是做什么的,但以下是如何读取zlib压缩文件并将其内容写入stdout(改编自文档中的示例):C# 在C+中使用DeflateStream+;? 我目前尝试将一些包含CurraseTestRAM的C代码移植到标准C++中,而不支持.NETFramework。此类功能的一个示例是: 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++中?谢谢,c#,c++,deflate,C#,C++,Deflate,您可能需要使用。在C++中实现这一点的最简单方法是使用.< /p> 我不完全确定您的示例是做什么的,但以下是如何读取zlib压缩文件并将其内容写入stdout(改编自文档中的示例): namespace io=boost::iostreams; std::ifstream文件(“hello.z”,std::ios\u base::binary); io::过滤_streambuf in; in.push(io::zlib_decompressor()); in.push(文件); io::复制(
namespace io=boost::iostreams;
std::ifstream文件(“hello.z”,std::ios\u base::binary);
io::过滤_streambuf in;
in.push(io::zlib_decompressor());
in.push(文件);
io::复制(in,std::cout);
您可能需要使用。在C++中实现这一点的最简单方法是使用.< /p>
我不完全确定您的示例是做什么的,但以下是如何读取zlib压缩文件并将其内容写入stdout(改编自文档中的示例):
namespace io=boost::iostreams;
std::ifstream文件(“hello.z”,std::ios\u base::binary);
io::过滤_streambuf in;
in.push(io::zlib_decompressor());
in.push(文件);
io::复制(in,std::cout);
你需要一个第三方库,比如ZLIB(),或者你自己需要实现一个紧缩算法,如果你喜欢Read Re发明。@乔:有没有一个关于如何在C++下使用ZLIB的教程?如果你需要用原来的.NE.DelaseTestRAM类压缩的ZLIB来压缩数据(或者反之亦然),你需要小心。zlib需要DeflateStream不生成的数据的前缀和后缀。看到你需要一个第三方库,比如ZLIB(),或者你自己需要实现一个通缩算法,如果你喜欢Read Re发明。@乔:有没有一个关于如何在C++下使用ZLIB的教程?如果你需要用原来的.NE.DelaseTestRAM类压缩的ZLIB来压缩数据(或者反之亦然),你需要小心。zlib需要DeflateStream不生成的数据的前缀和后缀。看见
namespace io = boost::iostreams;
std::ifstream file("hello.z", std::ios_base::binary);
io::filtering_streambuf<io::input> in;
in.push(io::zlib_decompressor());
in.push(file);
io::copy(in, std::cout);