<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[boost zlib]]></title><description><![CDATA[<p>hallo,</p>
<p>ich hab mich an diesem <a href="http://www.c-plusplus.net/forum/284365" rel="nofollow">http://www.c-plusplus.net/forum/284365</a> beispiel orientiert und habe versucht, daten zu kompressieren.</p>
<p>leider funktioniert es nicht ganz, und zwar wird bei der dekompression und der im code markierten stelle folgende excepion geworfen:</p>
<pre><code>boost::exception_detail::clone_impl&lt;boost::exception_detail::error_info_injector&lt;boost::iostreams::zlib_error&gt; &gt; an Speicherposition 0x0021bce0..
</code></pre>
<p>hier der quellcode:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;
#include &lt;random&gt;
#include &lt;functional&gt;
#include &lt;fstream&gt;
using namespace std;

#include &lt;boost\iostreams\filtering_stream.hpp&gt;
#include &lt;boost/iostreams/copy.hpp&gt;
#include &lt;boost/iostreams/filtering_streambuf.hpp&gt;
#include &lt;boost\iostreams\filter\bzip2.hpp&gt;
#include &lt;boost\iostreams\filter\gzip.hpp&gt;
#include &lt;boost\iostreams\filter\zlib.hpp&gt;
namespace io = boost::iostreams;

int main(int argc, char* argv[])
{
	std::uniform_int_distribution&lt;int&gt; distribution(0, 99);
	std::mt19937 engine;
	auto generator = std::bind(distribution, engine);

	string filename;
	stringstream ausgabe;
	stringstream sstream;

	for (int i = 0; i &lt; 10000; ++i)
	{
		int it = generator();
		ausgabe &lt;&lt; it + &quot; &quot;;
	}

	filename = &quot;zlib&quot;;

	std::fstream file_zlib_write(filename,std::ios_base::out | std::ios_base::binary); 

	io::filtering_ostream out; 
	out.push(io::zlib_compressor());
	out.push(file_zlib_write); 

	// Write source 
	out &lt;&lt; ausgabe.str() &lt;&lt; &quot;\n&quot;;

	file_zlib_write.close();

	std::fstream file_zlib_read(filename, std::ios_base::in | std::ios_base::binary);
	if (file_zlib_read.good())
	{
		io::filtering_istream in;

		in.push(io::zlib_decompressor());
		in.push(file_zlib_read);

		std::stringstream ss;
		io::copy(in, ss); // bei diesem copy wird die exception geworfen

		stringstream out_data;
		string line;
		do
		{
			getline(ss, line);
			out_data &lt;&lt; line;

		} while (!ss.eof());

			}
	return 0;
}
</code></pre>
<p>vielleicht sieht jemand den fehler <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>mfg</p>
<p>gucky</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/284725/boost-zlib</link><generator>RSS for Node</generator><lastBuildDate>Fri, 21 Aug 2026 20:09:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/284725.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 06 Apr 2011 18:16:17 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to boost zlib on Wed, 06 Apr 2011 18:16:17 GMT]]></title><description><![CDATA[<p>hallo,</p>
<p>ich hab mich an diesem <a href="http://www.c-plusplus.net/forum/284365" rel="nofollow">http://www.c-plusplus.net/forum/284365</a> beispiel orientiert und habe versucht, daten zu kompressieren.</p>
<p>leider funktioniert es nicht ganz, und zwar wird bei der dekompression und der im code markierten stelle folgende excepion geworfen:</p>
<pre><code>boost::exception_detail::clone_impl&lt;boost::exception_detail::error_info_injector&lt;boost::iostreams::zlib_error&gt; &gt; an Speicherposition 0x0021bce0..
</code></pre>
<p>hier der quellcode:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;
#include &lt;random&gt;
#include &lt;functional&gt;
#include &lt;fstream&gt;
using namespace std;

#include &lt;boost\iostreams\filtering_stream.hpp&gt;
#include &lt;boost/iostreams/copy.hpp&gt;
#include &lt;boost/iostreams/filtering_streambuf.hpp&gt;
#include &lt;boost\iostreams\filter\bzip2.hpp&gt;
#include &lt;boost\iostreams\filter\gzip.hpp&gt;
#include &lt;boost\iostreams\filter\zlib.hpp&gt;
namespace io = boost::iostreams;

int main(int argc, char* argv[])
{
	std::uniform_int_distribution&lt;int&gt; distribution(0, 99);
	std::mt19937 engine;
	auto generator = std::bind(distribution, engine);

	string filename;
	stringstream ausgabe;
	stringstream sstream;

	for (int i = 0; i &lt; 10000; ++i)
	{
		int it = generator();
		ausgabe &lt;&lt; it + &quot; &quot;;
	}

	filename = &quot;zlib&quot;;

	std::fstream file_zlib_write(filename,std::ios_base::out | std::ios_base::binary); 

	io::filtering_ostream out; 
	out.push(io::zlib_compressor());
	out.push(file_zlib_write); 

	// Write source 
	out &lt;&lt; ausgabe.str() &lt;&lt; &quot;\n&quot;;

	file_zlib_write.close();

	std::fstream file_zlib_read(filename, std::ios_base::in | std::ios_base::binary);
	if (file_zlib_read.good())
	{
		io::filtering_istream in;

		in.push(io::zlib_decompressor());
		in.push(file_zlib_read);

		std::stringstream ss;
		io::copy(in, ss); // bei diesem copy wird die exception geworfen

		stringstream out_data;
		string line;
		do
		{
			getline(ss, line);
			out_data &lt;&lt; line;

		} while (!ss.eof());

			}
	return 0;
}
</code></pre>
<p>vielleicht sieht jemand den fehler <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>mfg</p>
<p>gucky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2045639</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2045639</guid><dc:creator><![CDATA[Gucky]]></dc:creator><pubDate>Wed, 06 Apr 2011 18:16:17 GMT</pubDate></item><item><title><![CDATA[Reply to boost zlib on Wed, 06 Apr 2011 20:25:58 GMT]]></title><description><![CDATA[<p>Ich sehe, dass du Forward und Backslashes mischst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2045722</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2045722</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 06 Apr 2011 20:25:58 GMT</pubDate></item><item><title><![CDATA[Reply to boost zlib on Thu, 07 Apr 2011 08:14:07 GMT]]></title><description><![CDATA[<p>hat sich erledigt, da die datei die ich geschrieben hab im erten teil des codes lehr war.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2045832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2045832</guid><dc:creator><![CDATA[Gucky]]></dc:creator><pubDate>Thu, 07 Apr 2011 08:14:07 GMT</pubDate></item></channel></rss>