<?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[Aus std::ostream ein std::istream machen]]></title><description><![CDATA[<p>Ich hatte vor einer Weile die folgende Funktion geschrieben:</p>
<pre><code class="language-cpp">void fillBrowserContent(TextDisplay* td, std::istream&amp; urlIn);
</code></pre>
<p>Diese Funktion liest aus einer Datei (also einem std::ifstream) URL-Adressen und sendet sie an ein TextDisplay-Objekt, das zu einem GUI gehört, dass die URL-Adressen dann anzeigt.</p>
<p>Neuerdings ist es aber so, dass die URL-Adressen verschlüsselt in der Datei gespeichert sind. Zum Entschlüsseln habe ich vor noch längerer Zeit folgende Funktion geschrieben:</p>
<pre><code class="language-cpp">void decode(std::istream&amp; in, std::ostream&amp; out, Code&amp; code);
</code></pre>
<p>Diese Funktion liest den chiffrierten Text aus einem std::istream, dechiffriert ihn und sendet den Klartext an einen std::ostream (bei Code handelt es sich um den Entschlüsselungsalgorithmus).</p>
<p>Das Problem ist, dass ich nach dem Entschlüsseln einen std::ostream habe, ich für das Aufrufen der oberen Funktion, um den Text in der GUI anzuzeigen, aber einen std::istream brauche. Also müsste ich den std::ostream der aus der Entschlüsselungfunktion kommt, irgendwie in einen std::istream umwandeln, den ich in die obere Funktion einführen kann.</p>
<p>Vielleicht kann mir jemand dabei helfen, wie ich das Problem lösen und dabei möglichst meinen alten Code weiter verwenden kann.</p>
<p>Viele Grüße, Holger</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/280441/aus-std-ostream-ein-std-istream-machen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 04:04:48 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/280441.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 15 Jan 2011 18:27:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Aus std::ostream ein std::istream machen on Sat, 15 Jan 2011 18:27:43 GMT]]></title><description><![CDATA[<p>Ich hatte vor einer Weile die folgende Funktion geschrieben:</p>
<pre><code class="language-cpp">void fillBrowserContent(TextDisplay* td, std::istream&amp; urlIn);
</code></pre>
<p>Diese Funktion liest aus einer Datei (also einem std::ifstream) URL-Adressen und sendet sie an ein TextDisplay-Objekt, das zu einem GUI gehört, dass die URL-Adressen dann anzeigt.</p>
<p>Neuerdings ist es aber so, dass die URL-Adressen verschlüsselt in der Datei gespeichert sind. Zum Entschlüsseln habe ich vor noch längerer Zeit folgende Funktion geschrieben:</p>
<pre><code class="language-cpp">void decode(std::istream&amp; in, std::ostream&amp; out, Code&amp; code);
</code></pre>
<p>Diese Funktion liest den chiffrierten Text aus einem std::istream, dechiffriert ihn und sendet den Klartext an einen std::ostream (bei Code handelt es sich um den Entschlüsselungsalgorithmus).</p>
<p>Das Problem ist, dass ich nach dem Entschlüsseln einen std::ostream habe, ich für das Aufrufen der oberen Funktion, um den Text in der GUI anzuzeigen, aber einen std::istream brauche. Also müsste ich den std::ostream der aus der Entschlüsselungfunktion kommt, irgendwie in einen std::istream umwandeln, den ich in die obere Funktion einführen kann.</p>
<p>Vielleicht kann mir jemand dabei helfen, wie ich das Problem lösen und dabei möglichst meinen alten Code weiter verwenden kann.</p>
<p>Viele Grüße, Holger</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2007002</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2007002</guid><dc:creator><![CDATA[Holger_G]]></dc:creator><pubDate>Sat, 15 Jan 2011 18:27:43 GMT</pubDate></item><item><title><![CDATA[Reply to Aus std::ostream ein std::istream machen on Sat, 15 Jan 2011 18:55:44 GMT]]></title><description><![CDATA[<p>Vielleicht geht das?</p>
<pre><code class="language-cpp">decode(in, out, code);	
istream in2;
out &gt;&gt; in2;
fillBrowserContent(td, in2);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2007013</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2007013</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Sat, 15 Jan 2011 18:55:44 GMT</pubDate></item><item><title><![CDATA[Reply to Aus std::ostream ein std::istream machen on Sat, 15 Jan 2011 19:31:06 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::ifstream in(&quot;file.txt&quot;);
std::stringstream encoded_stream;
decode(in, encoded_stream, code);
fillBrowserContent(td, encoded_stream);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2007032</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2007032</guid><dc:creator><![CDATA[wxSkip]]></dc:creator><pubDate>Sat, 15 Jan 2011 19:31:06 GMT</pubDate></item><item><title><![CDATA[Reply to Aus std::ostream ein std::istream machen on Mon, 17 Jan 2011 11:07:42 GMT]]></title><description><![CDATA[<p>wxSkip schrieb:</p>
<blockquote>
<pre><code class="language-cpp">std::ifstream in(&quot;file.txt&quot;);
std::stringstream encoded_stream;
decode(in, encoded_stream, code);
fillBrowserContent(td, encoded_stream);
</code></pre>
</blockquote>
<p>Schöne, einfache Lösung des Problems, vielen Dank!</p>
<p>Gruß, Holger</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2007635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2007635</guid><dc:creator><![CDATA[Holger_G]]></dc:creator><pubDate>Mon, 17 Jan 2011 11:07:42 GMT</pubDate></item></channel></rss>