<?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 Archive Exception { output stream error }]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich hänge im mmoment an einem Problem, wo ich trotz debuggen nicht weiter komme, vllt könnt ihr mir helfen.</p>
<p>Ich benutzte die BoostLib um das Serialzieren von Objekten zu ermöglichen. Dafür benutzte ich die boost:archive::text_iarchive bzw oarchive</p>
<p>Nun gut ich habe ein kleines Test Class die serialziert werden soll. Allerdings bekomm ich ich die im Titel stehende Exception geworfen. Nach debuggen konnte ich herausfinden das diese Exception gerufen wird weil der outputstream.fail() true liefert.</p>
<pre><code class="language-cpp">std::ofstream ofs(&quot;/config/testfile.cfg&quot;);
	boost::archive::text_oarchive text(ofs);
</code></pre>
<p>das erstellen des oarchive wirft die Exception, beim erstellen des ofstream allerdings alles in ordnung. Mit der klasse die ich serialzieren will hat es ja scheinbar auch nichts zu tun.</p>
<p>Und ja der Ordner config exestiert. Die testfile.cfg nicht, allerding habe ich es auch schon mit der vorhanden Datei probiert, dass machte keinen Unterschied.</p>
<p>Ich komme mir einwenig blöd vor einen Fehler in 2 Zeilen Code zubekommen den ich mir nicht erklären kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/287277/boost-archive-exception-output-stream-error</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 13:02:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/287277.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 25 May 2011 16:00:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Boost Archive Exception { output stream error } on Wed, 25 May 2011 16:00:23 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich hänge im mmoment an einem Problem, wo ich trotz debuggen nicht weiter komme, vllt könnt ihr mir helfen.</p>
<p>Ich benutzte die BoostLib um das Serialzieren von Objekten zu ermöglichen. Dafür benutzte ich die boost:archive::text_iarchive bzw oarchive</p>
<p>Nun gut ich habe ein kleines Test Class die serialziert werden soll. Allerdings bekomm ich ich die im Titel stehende Exception geworfen. Nach debuggen konnte ich herausfinden das diese Exception gerufen wird weil der outputstream.fail() true liefert.</p>
<pre><code class="language-cpp">std::ofstream ofs(&quot;/config/testfile.cfg&quot;);
	boost::archive::text_oarchive text(ofs);
</code></pre>
<p>das erstellen des oarchive wirft die Exception, beim erstellen des ofstream allerdings alles in ordnung. Mit der klasse die ich serialzieren will hat es ja scheinbar auch nichts zu tun.</p>
<p>Und ja der Ordner config exestiert. Die testfile.cfg nicht, allerding habe ich es auch schon mit der vorhanden Datei probiert, dass machte keinen Unterschied.</p>
<p>Ich komme mir einwenig blöd vor einen Fehler in 2 Zeilen Code zubekommen den ich mir nicht erklären kann.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2068565</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2068565</guid><dc:creator><![CDATA[chea77er1]]></dc:creator><pubDate>Wed, 25 May 2011 16:00:23 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Archive Exception { output stream error } on Wed, 25 May 2011 16:27:34 GMT]]></title><description><![CDATA[<p>Kann es sein, dass es an der Pfadangabe liegt? Bist Du sicher, dass der ofstream korrekt geöffnet wurde? Zum Testen könntest Du mal einen ostringstream benutzen:</p>
<pre><code class="language-cpp">std::ostringstream ostr;
boost::archive::text_oarchive oar(ostr);
oar &lt;&lt; an_serializable_object;
std::cout &lt;&lt; ostr.str() &lt;&lt; '\n';
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2068575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2068575</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Wed, 25 May 2011 16:27:34 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Archive Exception { output stream error } on Wed, 25 May 2011 16:29:05 GMT]]></title><description><![CDATA[<p>chea77er1 schrieb:</p>
<blockquote>
<p>Nun gut ich habe ein kleines Test Class die serialziert werden soll. Allerdings bekomm ich ich die im Titel stehende Exception geworfen. Nach debuggen konnte ich herausfinden das diese Exception gerufen wird weil der outputstream.fail() true liefert.</p>
</blockquote>
<p>Dann wurde der Stream wohl nicht ordnungsgemäß geöffnet - die verhalten sich normalerweise etwas ruhiger und werfen nur dann Exceptions, wenn man es ihnen befiehlt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2068578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2068578</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 25 May 2011 16:29:05 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Archive Exception { output stream error } on Wed, 25 May 2011 17:55:11 GMT]]></title><description><![CDATA[<p>Tachyon schrieb:</p>
<blockquote>
<p>Kann es sein, dass es an der Pfadangabe liegt? Bist Du sicher, dass der ofstream korrekt geöffnet wurde? Zum Testen könntest Du mal einen ostringstream benutzen:</p>
<pre><code class="language-cpp">std::ostringstream ostr;
boost::archive::text_oarchive oar(ostr);
oar &lt;&lt; an_serializable_object;
std::cout &lt;&lt; ostr.str() &lt;&lt; '\n';
</code></pre>
</blockquote>
<p>Er nimmt keinen ostringstream bzw stringstream an da ein ostream gefragt ist, und der compiler den nicht convertiert kriegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2068640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2068640</guid><dc:creator><![CDATA[chea77er1]]></dc:creator><pubDate>Wed, 25 May 2011 17:55:11 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Archive Exception { output stream error } on Wed, 25 May 2011 17:59:22 GMT]]></title><description><![CDATA[<p>chea77er1 schrieb:</p>
<blockquote>
<p>Er nimmt keinen ostringstream bzw stringstream an da ein ostream gefragt ist, und der compiler den nicht convertiert kriegt.</p>
</blockquote>
<p>aber einen o<strong>f</strong>stream nimmt das Teil trotzdem <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 />
Die ganzen Stream-Klassen sind in einer Vererbungs-Hierarchie untereinander verbunden und alle Ausgabe-Streams (ofstream, ostringstream etc) sind Nachkommen von ostream, also sollte jeder Compiler in der Lage sein, irgendeinen Ausgabestream dort zu übergeben.<br />
(es könnte nur sein, daß du den Header &lt;stringstream&gt; vergessen hast)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2068644</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2068644</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 25 May 2011 17:59:22 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Archive Exception { output stream error } on Wed, 25 May 2011 18:12:36 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>chea77er1 schrieb:</p>
<blockquote>
<p>Er nimmt keinen ostringstream bzw stringstream an da ein ostream gefragt ist, und der compiler den nicht convertiert kriegt.</p>
</blockquote>
<p>aber einen o<strong>f</strong>stream nimmt das Teil trotzdem <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 />
Die ganzen Stream-Klassen sind in einer Vererbungs-Hierarchie untereinander verbunden und alle Ausgabe-Streams (ofstream, ostringstream etc) sind Nachkommen von ostream, also sollte jeder Compiler in der Lage sein, irgendeinen Ausgabestream dort zu übergeben.<br />
(es könnte nur sein, daß du den Header &lt;stringstream&gt; vergessen hast)</p>
</blockquote>
<p>Aja gut danke den hatte ich wohl vergessen^^</p>
<p>Nunja also mit stringstream funktioniert das ganze auch so wie es soll. Allerdings sobald ich stringstream mit ofstream ersetzte bekomm ich wieder die exception.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2068648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2068648</guid><dc:creator><![CDATA[chea77er1]]></dc:creator><pubDate>Wed, 25 May 2011 18:12:36 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Archive Exception { output stream error } on Wed, 25 May 2011 18:18:52 GMT]]></title><description><![CDATA[<p>Dann liegt es wohl doch daran, daß das Öffnen/Anlegen der Datei schiefgegangen ist. Bist du dir denn 100% sicher, daß die Pfadangabe korrekt ist? Und hast du mal versucht, den Dateinamen ohne Pfad anzugeben?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2068651</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2068651</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 25 May 2011 18:18:52 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Archive Exception { output stream error } on Wed, 25 May 2011 18:27:07 GMT]]></title><description><![CDATA[<p>gm irgentwie merkwürdig, denn ich habe die Datei mal direkt im Ordner des Programms gelegt, und dem entsprechend den source angepasst und siehe da, sobald ich allerding etwas in einem ordner mache geht es nicht.</p>
<p>Ist vielleicht die volle Pfad angabe verlangt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2068656</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2068656</guid><dc:creator><![CDATA[Aurus1]]></dc:creator><pubDate>Wed, 25 May 2011 18:27:07 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Archive Exception { output stream error } on Wed, 25 May 2011 18:31:15 GMT]]></title><description><![CDATA[<p>Auf welchem System willst du das ganze eigentlich ausführen? Und wo liegt die Zieldatei im Verhältnis zu deinem Arbeitsverzeichnis?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2068662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2068662</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 25 May 2011 18:31:15 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Archive Exception { output stream error } on Wed, 25 May 2011 18:43:40 GMT]]></title><description><![CDATA[<p>Windows.</p>
<p>Und die zieldatei liegt in einem Ordner der im selben Ordner wie das Programm liegt.</p>
<p>Also:<br />
C:Users/Documents/VS2010/Binaries/configs/zieldatei.dat</p>
<p>und das Programm:<br />
C:Users/Docuemnts/VS2010/Binaries/bin.exe</p>
<p>...</p>
<p>BTW liegt es vllt daran das getcwd(..) mir auch einen ganz anderen Pfad angibt als den wo wirklich die .exe liegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2068668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2068668</guid><dc:creator><![CDATA[chea77er1]]></dc:creator><pubDate>Wed, 25 May 2011 18:43:40 GMT</pubDate></item><item><title><![CDATA[Reply to Boost Archive Exception { output stream error } on Wed, 25 May 2011 18:46:40 GMT]]></title><description><![CDATA[<p>Dann solltest du mal den / am Anfang des Dateinamens weglassen - damit gibst du an, daß die Datei im Root-Verzeichnis liegt (also unter C:\configs\).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2068670</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2068670</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 25 May 2011 18:46:40 GMT</pubDate></item></channel></rss>