<?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[Array mit zlib komprimieren]]></title><description><![CDATA[<p>Hallo Leute!</p>
<p>Ich moechte ein Array mit boost.iostreams und deren zlib_compressor komprimieren und auch wieder dekomprimieren koennen. Dafuer habe ich ein kleines Testprogramm geschrieben.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

#include &lt;boost/iostreams/filtering_stream.hpp&gt;
#include &lt;boost/iostreams/device/back_inserter.hpp&gt;
#include &lt;boost/iostreams/filter/zlib.hpp&gt;

namespace io = boost::iostreams;

int main()
{
	char const data[] = { '1', '2', '3', '4', '5' };
	std::vector&lt;char&gt; out;

	io::filtering_ostream os;
	os.push(io::zlib_compressor());
	os.push(io::back_inserter(out));
	os.write(data, sizeof data);

	std::cout &lt;&lt; out.size();
}
</code></pre>
<p>Und da kommt immer 0 raus, sprich der vector ist leer. Woran kann das liegen?</p>
<p>Gruesse,<br />
Der Kellerautomat</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/307912/array-mit-zlib-komprimieren</link><generator>RSS for Node</generator><lastBuildDate>Thu, 06 Aug 2026 09:31:31 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/307912.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 08 Sep 2012 19:17:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Array mit zlib komprimieren on Sat, 08 Sep 2012 19:17:34 GMT]]></title><description><![CDATA[<p>Hallo Leute!</p>
<p>Ich moechte ein Array mit boost.iostreams und deren zlib_compressor komprimieren und auch wieder dekomprimieren koennen. Dafuer habe ich ein kleines Testprogramm geschrieben.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;

#include &lt;boost/iostreams/filtering_stream.hpp&gt;
#include &lt;boost/iostreams/device/back_inserter.hpp&gt;
#include &lt;boost/iostreams/filter/zlib.hpp&gt;

namespace io = boost::iostreams;

int main()
{
	char const data[] = { '1', '2', '3', '4', '5' };
	std::vector&lt;char&gt; out;

	io::filtering_ostream os;
	os.push(io::zlib_compressor());
	os.push(io::back_inserter(out));
	os.write(data, sizeof data);

	std::cout &lt;&lt; out.size();
}
</code></pre>
<p>Und da kommt immer 0 raus, sprich der vector ist leer. Woran kann das liegen?</p>
<p>Gruesse,<br />
Der Kellerautomat</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249626</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Sat, 08 Sep 2012 19:17:34 GMT</pubDate></item><item><title><![CDATA[Reply to Array mit zlib komprimieren on Sat, 08 Sep 2012 19:42:18 GMT]]></title><description><![CDATA[<p>Ich benutze Boost.Iostreams zwar nicht, aber ich kann dir auch so sagen, dass da nicht viel Kompression bei herumkommen würde, wenn der Stream für jedes Byte, das er bekommt, sofort eins rausschreibt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /><br />
Schließe den Stream mal oder schreib so viele Daten, dass der Stream zwischendurch zum Flushen gezwungen wird.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249635</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Sat, 08 Sep 2012 19:42:18 GMT</pubDate></item><item><title><![CDATA[Reply to Array mit zlib komprimieren on Sat, 08 Sep 2012 19:53:03 GMT]]></title><description><![CDATA[<p>Ich habe mal ein os.flush() hinter das write gehaengt. Hat leider nichts geaendert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249637</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249637</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Sat, 08 Sep 2012 19:53:03 GMT</pubDate></item><item><title><![CDATA[Reply to Array mit zlib komprimieren on Sat, 08 Sep 2012 20:10:41 GMT]]></title><description><![CDATA[<p>Das reicht nicht. Ein flush() soll den Ausgabestrom nicht verändern, sondern nur schon gepufferte Daten rausschreiben. Bei einem komprimierenden Strom wäre ersteres aber unausweichlich (Matchsuche muss vorzeitig unterbrochen werden o.ä.).<br />
Deswegen musst du ihn schon schließen oder wenigstens zum Überlauf bringen (z.B. &gt;=1 MB zufällig erzeugte Zahlen sollten reichen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2249641</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249641</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Sat, 08 Sep 2012 20:10:41 GMT</pubDate></item><item><title><![CDATA[Reply to Array mit zlib komprimieren on Sat, 08 Sep 2012 20:21:53 GMT]]></title><description><![CDATA[<p>Danke, mit einem zusaetzlich eingefuehrten Scope funktioniert es. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2249645</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2249645</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Sat, 08 Sep 2012 20:21:53 GMT</pubDate></item></channel></rss>