<?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[str_to_long]]></title><description><![CDATA[<p>Warum geht dass nicht?</p>
<pre><code class="language-cpp">unsigned long imp_fkt::str_to_long(const std::string &amp;signs)
{
    unsigned long temp;
    ostringstream Str;
    Str &lt;&lt; signs;
    Str &gt;&gt; temp;
    return temp;
}
</code></pre>
<p>ERROR:<br />
no match for operator &gt;&gt; in Str...</p>
<p>Auf diese Art wirds in der FAQ erklärt?!</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/212654/str_to_long</link><generator>RSS for Node</generator><lastBuildDate>Wed, 14 Oct 2026 17:24:22 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/212654.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 May 2008 19:12:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to str_to_long on Thu, 08 May 2008 19:12:28 GMT]]></title><description><![CDATA[<p>Warum geht dass nicht?</p>
<pre><code class="language-cpp">unsigned long imp_fkt::str_to_long(const std::string &amp;signs)
{
    unsigned long temp;
    ostringstream Str;
    Str &lt;&lt; signs;
    Str &gt;&gt; temp;
    return temp;
}
</code></pre>
<p>ERROR:<br />
no match for operator &gt;&gt; in Str...</p>
<p>Auf diese Art wirds in der FAQ erklärt?!</p>
<p>MfG<br />
Stromberg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505646</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505646</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Thu, 08 May 2008 19:12:28 GMT</pubDate></item><item><title><![CDATA[Reply to str_to_long on Thu, 08 May 2008 19:14:49 GMT]]></title><description><![CDATA[<p>ja ostringstream is aber std:: <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505647</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505647</guid><dc:creator><![CDATA[Firefighter]]></dc:creator><pubDate>Thu, 08 May 2008 19:14:49 GMT</pubDate></item><item><title><![CDATA[Reply to str_to_long on Thu, 08 May 2008 19:16:52 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Und außerdem ist ostringstream zum &quot;ausgeben&quot; von Wert, nicht zum &quot;einlesen&quot;. Du brauchst natürlich den stringstream ohne o.</p>
<p>bis bald<br />
akari</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505649</guid><dc:creator><![CDATA[akari]]></dc:creator><pubDate>Thu, 08 May 2008 19:16:52 GMT</pubDate></item><item><title><![CDATA[Reply to str_to_long on Thu, 08 May 2008 19:18:02 GMT]]></title><description><![CDATA[<p>Wenn du den Stream sowohl Eingabe als auch Ausgabe benötigst, benutze <code>std::stringstream</code> .<br />
<code>std::ostringstream</code> ist nur für <strong>O</strong>utput und hat folglich nicht beide Operatoren &lt;&lt; und &gt;&gt; überladen.</p>
<p><em>Edit: 3 Sekunden zu spät <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="😉"
    /></em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505650</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505650</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Thu, 08 May 2008 19:18:02 GMT</pubDate></item><item><title><![CDATA[Reply to str_to_long on Thu, 08 May 2008 20:02:39 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">unsigned long imp_fkt::str_to_long(const std::string &amp;s)
{
    unsigned long temp;
    istringstream Str(s);
    Str &gt;&gt; temp;
    return temp;
}
</code></pre>
<p>So kurz, dass schon fraglich ist, ob das eine eigene Funktion lohnt.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505672</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 08 May 2008 20:02:39 GMT</pubDate></item><item><title><![CDATA[Reply to str_to_long on Thu, 08 May 2008 20:35:36 GMT]]></title><description><![CDATA[<p>Ja klar lohnt dass, es gibt doch die Regel welche besagt &quot;doppelten Code&quot; vermeiden, und wenn man dass jetzt 5-6mal braucht...is doch viel angenehmer so eine Funktion zu haben bzw. bei mir ist es eine &quot;static Methode&quot; halt.</p>
<p>MfG<br />
Strombe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505693</guid><dc:creator><![CDATA[Stromberg]]></dc:creator><pubDate>Thu, 08 May 2008 20:35:36 GMT</pubDate></item><item><title><![CDATA[Reply to str_to_long on Thu, 08 May 2008 21:06:23 GMT]]></title><description><![CDATA[<p>Stromberg schrieb:</p>
<blockquote>
<p>Ja klar lohnt dass, es gibt doch die Regel welche besagt &quot;doppelten Code&quot; vermeiden, und wenn man dass jetzt 5-6mal braucht...is doch viel angenehmer so eine Funktion zu haben bzw. bei mir ist es eine &quot;static Methode&quot; halt.</p>
<p>MfG<br />
Strombe</p>
</blockquote>
<p>Naja ... mal ein paar Gegenargumente, die mir so spontan (aus meiner Praxis) einfallen:</p>
<ul>
<li>Sobald Du mehrmals im selben Kontext Strings in Zahlen konvertieren musst, kannst Du denselben istringstream nehmen ... da sparst Du nicht viel.</li>
<li>Sobald die Zahlen anders repräsentiert (hex, octal, double, ....) oder in Text eingebettet sind, hilft Deine Funktion Dir wieder nicht.</li>
<li>Da der Returntyp nicht in die Signatur mit eingeht, kannst Du das nichtmal von overloading regeln lassen, sondern musst diese umständliche &quot;str_to...&quot;-Benamsung nehmen. Wenn sich irgendwo mal der Typ ändert, musst Du daran denken, eine andere Funktion zu nehmen (fällt nicht automatisch auf, wenn es eine implizite Konvertierung gibt). Da ist der operator&lt;&lt;() schon praktischer , eindeutiger und sicherer.</li>
<li>Woher kommt denn der String ? Mit sehr hoher Wahrscheinlichkeit doch sowieso aus einem istream (cin, ifstream, ....) .... warum also erst in einen String und dann nochmal in eine Zahl konvertieren ?</li>
</ul>
<p>So eine &quot;str2Number&quot;-Funktion ist zwar eine weitverbreitete Fingerübung - aber in der Praxis gar nicht so hilfreich wie man anfangs meint.</p>
<p>Gruß,</p>
<p>Simon2.</p>
<p>P.S.: Nicht, dass ich das wollte, aber würde eigentlich ein</p>
<pre><code class="language-cpp">string&amp; operator&gt;&gt;(string&amp;, unsigned long);
</code></pre>
<p>nicht auch gehen ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505714</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505714</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Thu, 08 May 2008 21:06:23 GMT</pubDate></item><item><title><![CDATA[Reply to str_to_long on Fri, 09 May 2008 05:03:24 GMT]]></title><description><![CDATA[<p>benutz boost::lexical_cast</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1505771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1505771</guid><dc:creator><![CDATA[kitov]]></dc:creator><pubDate>Fri, 09 May 2008 05:03:24 GMT</pubDate></item></channel></rss>