<?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[Charzeichen in INTEGER]]></title><description><![CDATA[<p>Hey ihr,</p>
<p>Bin gerade dabei eine Funktion zu schreiben, welche eine String-Zahl z.B. &quot;23423&quot; in einen Integer umwandelt.<br />
Dabei bin ich auf ein Problem gestossen.<br />
Und zwar:</p>
<p>string hallo = &quot;1234&quot;;<br />
int a = hallo[3];</p>
<p>'a' bekommt nun den ASCII-Wert von '4' und nicht direkt 4.<br />
Habe mir mit atoi(&amp;) geholfen.</p>
<p>cout &lt;&lt; atoi(&amp;hallo[3]) &lt;&lt; endl;</p>
<p>Doch atoi ist ne echt komische Funktion.<br />
Sie liefert nun zwar DIREKT die '4' doch auch gleich noch alle anderen darauf folgenden Zahlen bis zum Ende des Strings.<br />
Folgendes Beispiel gibt 3243 aus, statt nur 3:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;
int main(void)
{
   string hallo = &quot;1223243&quot;;
   cout &lt;&lt; atoi(&amp;hallo[3]) &lt;&lt; endl;
   system(&quot;Pause&quot;);
}
</code></pre>
<p>Woran liegt das?<br />
Gibts ne Alternative zu atoi, welche gut funktioniert oder muss ich mir jetzt sogar noch ne eigene Funktion schreiben, welche das macht?</p>
<p>Wäre ja viel Arbeit - müssten schließlich alle ASCII-Zeichen rein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Bis dann und allen ne schöne Adventszeit.</p>
<p>cya<br />
David</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/200416/charzeichen-in-integer</link><generator>RSS for Node</generator><lastBuildDate>Sun, 04 Oct 2026 19:51:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/200416.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 14 Dec 2007 14:23:55 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Charzeichen in INTEGER on Fri, 14 Dec 2007 14:23:55 GMT]]></title><description><![CDATA[<p>Hey ihr,</p>
<p>Bin gerade dabei eine Funktion zu schreiben, welche eine String-Zahl z.B. &quot;23423&quot; in einen Integer umwandelt.<br />
Dabei bin ich auf ein Problem gestossen.<br />
Und zwar:</p>
<p>string hallo = &quot;1234&quot;;<br />
int a = hallo[3];</p>
<p>'a' bekommt nun den ASCII-Wert von '4' und nicht direkt 4.<br />
Habe mir mit atoi(&amp;) geholfen.</p>
<p>cout &lt;&lt; atoi(&amp;hallo[3]) &lt;&lt; endl;</p>
<p>Doch atoi ist ne echt komische Funktion.<br />
Sie liefert nun zwar DIREKT die '4' doch auch gleich noch alle anderen darauf folgenden Zahlen bis zum Ende des Strings.<br />
Folgendes Beispiel gibt 3243 aus, statt nur 3:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
using namespace std;
int main(void)
{
   string hallo = &quot;1223243&quot;;
   cout &lt;&lt; atoi(&amp;hallo[3]) &lt;&lt; endl;
   system(&quot;Pause&quot;);
}
</code></pre>
<p>Woran liegt das?<br />
Gibts ne Alternative zu atoi, welche gut funktioniert oder muss ich mir jetzt sogar noch ne eigene Funktion schreiben, welche das macht?</p>
<p>Wäre ja viel Arbeit - müssten schließlich alle ASCII-Zeichen rein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>Bis dann und allen ne schöne Adventszeit.</p>
<p>cya<br />
David</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1420563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1420563</guid><dc:creator><![CDATA[777]]></dc:creator><pubDate>Fri, 14 Dec 2007 14:23:55 GMT</pubDate></item><item><title><![CDATA[Reply to Charzeichen in INTEGER on Fri, 14 Dec 2007 14:40:16 GMT]]></title><description><![CDATA[<blockquote>
<p>Doch atoi ist ne echt komische Funktion.<br />
Sie liefert nun zwar DIREKT die '4' doch auch gleich noch alle anderen darauf folgenden Zahlen bis zum Ende des Strings.</p>
</blockquote>
<p>LOL. Die Funktion ist nicht komisch, sondern macht eben genau das, was du da mit deiner eigenen Funktion bezweckst :D.</p>
<p>Den Wert des der Ziffer erhälst du, wenn du einfach den Zeichencode von '0' von deinem gelesenen Zeichen abziehst (denk daran, dass in C/C++ chars auch bloß Zahlen sind):</p>
<pre><code class="language-cpp">...
int a = hallo[3] - '0';
...
</code></pre>
<p>Grüße</p>
<p>Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1420576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1420576</guid><dc:creator><![CDATA[JimmydaMage]]></dc:creator><pubDate>Fri, 14 Dec 2007 14:40:16 GMT</pubDate></item><item><title><![CDATA[Reply to Charzeichen in INTEGER on Fri, 14 Dec 2007 14:40:57 GMT]]></title><description><![CDATA[<p>atoi() erwartet einen c-string. Also übergeb doch mal hallo.c_str() an atoi(). Dann klappts.<br />
Aber schau mal in die FAQs, da steht was über dein Problem...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1420578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1420578</guid><dc:creator><![CDATA[Tobias W]]></dc:creator><pubDate>Fri, 14 Dec 2007 14:40:57 GMT</pubDate></item><item><title><![CDATA[Reply to Charzeichen in INTEGER on Fri, 14 Dec 2007 14:48:10 GMT]]></title><description><![CDATA[<p>std::ostringstream wäre doch was. &lt;sstream&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1420582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1420582</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Fri, 14 Dec 2007 14:48:10 GMT</pubDate></item><item><title><![CDATA[Reply to Charzeichen in INTEGER on Fri, 14 Dec 2007 14:50:34 GMT]]></title><description><![CDATA[<p>(D)Evil schrieb:</p>
<blockquote>
<p>std::ostringstream wäre doch was. &lt;sstream&gt;</p>
</blockquote>
<p>LOL.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1420584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1420584</guid><dc:creator><![CDATA[Dschimmy]]></dc:creator><pubDate>Fri, 14 Dec 2007 14:50:34 GMT</pubDate></item></channel></rss>