<?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[stringstream: überprüfen ob Operation erfolgreich]]></title><description><![CDATA[<p>Hi,</p>
<p>mit einem std::stringstream lese ich string-Werte aus einer XML-Datei ein und wandle sie in verschiedene Datentypen um:</p>
<pre><code>bool XMLFile::Bool()
{
	bool ret;
	stringstream ss(stringstream::in || stringstream::out);
	ss &lt;&lt; GetStringValue();
	ss &gt;&gt; ret;
	return ret;
}
</code></pre>
<p>Wird von GetValue ein leerer String zurückgegeben, dann funktioniert die Umwandlung nicht und bool wird nichts zugewiesen. Das möchte ich feststellen, aber wie?<br />
if(ss&gt;&gt;ret) funktioniert nicht, ebensowenig ss.fail().</p>
<p>mfg. Tubos</p>
<p>mfg. Tubos</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/148497/stringstream-überprüfen-ob-operation-erfolgreich</link><generator>RSS for Node</generator><lastBuildDate>Fri, 04 Sep 2026 20:46:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/148497.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 27 May 2006 12:06:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to stringstream: überprüfen ob Operation erfolgreich on Sat, 27 May 2006 12:06:53 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>mit einem std::stringstream lese ich string-Werte aus einer XML-Datei ein und wandle sie in verschiedene Datentypen um:</p>
<pre><code>bool XMLFile::Bool()
{
	bool ret;
	stringstream ss(stringstream::in || stringstream::out);
	ss &lt;&lt; GetStringValue();
	ss &gt;&gt; ret;
	return ret;
}
</code></pre>
<p>Wird von GetValue ein leerer String zurückgegeben, dann funktioniert die Umwandlung nicht und bool wird nichts zugewiesen. Das möchte ich feststellen, aber wie?<br />
if(ss&gt;&gt;ret) funktioniert nicht, ebensowenig ss.fail().</p>
<p>mfg. Tubos</p>
<p>mfg. Tubos</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1066047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1066047</guid><dc:creator><![CDATA[Tubos]]></dc:creator><pubDate>Sat, 27 May 2006 12:06:53 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream: überprüfen ob Operation erfolgreich on Sat, 27 May 2006 12:13:50 GMT]]></title><description><![CDATA[<p>Du könntest 'ret' ja mit einem Defaultwert vorbesetzen, der bei einem Eingabefehler zurückgegeben werden soll. Ansonsten ist &quot;ss.fail()&quot; oder &quot;!ss&quot; der offizielle Weg festzustellen, ob die letzte Lese-Operation geklappt hat.</p>
<p>PS: Natürlich kannst du auch etwas weiter vorne ansetzen:</p>
<pre><code class="language-cpp">string data;
if((data=GetStringValue())!=&quot;&quot;)
{
  ss&lt;&lt;data;
  ss&gt;&gt;ret;
}
else
{
  //Fehler
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1066049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1066049</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 27 May 2006 12:13:50 GMT</pubDate></item><item><title><![CDATA[Reply to stringstream: überprüfen ob Operation erfolgreich on Sat, 27 May 2006 20:45:22 GMT]]></title><description><![CDATA[<blockquote>
<p>Ansonsten ist &quot;ss.fail()&quot; oder &quot;!ss&quot; der offizielle Weg festzustellen, ob die letzte Lese-Operation geklappt hat.</p>
</blockquote>
<p>Hmmm... vorhin hat das nicht funktioniert. Jetzt geht es plötzlich. Werd ich so machen.</p>
<p>Danke für die Hilfe!</p>
<p>[edit]Hier stand eine Frage, die hat sich aber erledigt.[/edit]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1066200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1066200</guid><dc:creator><![CDATA[Tubos]]></dc:creator><pubDate>Sat, 27 May 2006 20:45:22 GMT</pubDate></item></channel></rss>