<?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[String zu Integer]]></title><description><![CDATA[<p>Hallo,<br />
ich habe bei meinem neuesten Projekt ein Problem:<br />
ich habe in einem String am Anfang eine Zeichenfolge, danach kommen ein paar Zahlen und wieder eine Zeichenfolge. Also so:<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> blabla123blabla.<br />
Wie kann ich nun die Zahlen herausfiltern und in einer Integer-Variable speichern?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/286287/string-zu-integer</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 23:57:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/286287.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 07 May 2011 08:21:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to String zu Integer on Sat, 07 May 2011 08:22:06 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe bei meinem neuesten Projekt ein Problem:<br />
ich habe in einem String am Anfang eine Zeichenfolge, danach kommen ein paar Zahlen und wieder eine Zeichenfolge. Also so:<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/27a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--right_arrow"
      title=":arrow_right:"
      alt="➡"
    /> blabla123blabla.<br />
Wie kann ich nun die Zahlen herausfiltern und in einer Integer-Variable speichern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059897</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059897</guid><dc:creator><![CDATA[*JP 0]]></dc:creator><pubDate>Sat, 07 May 2011 08:22:06 GMT</pubDate></item><item><title><![CDATA[Reply to String zu Integer on Sat, 07 May 2011 08:25:27 GMT]]></title><description><![CDATA[<p>du löscht alle zeichen raus (also lässt nur die zahlen stehen) oder du holst dir die zahlen raus</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;sstream&gt;

using namespace std;

int main()
{
    string str = &quot;blabla123blabla&quot;;
    stringstream ss;
    for(UINT i = 0; i &lt; str.size(); ++i)
    {
        if ( isNumeric(str[i]) )
            ss &lt;&lt; str[i];
    }
    int zahl;
    ss &gt;&gt; zahl;

    return 0x0;
}
</code></pre>
<p>so in etwa wäre eine möglichkeit, ob das isNumeric so richtig weis ich nicht genau, kannst dir zur not ja ne eigene funktione schreiben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059898</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059898</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sat, 07 May 2011 08:25:27 GMT</pubDate></item><item><title><![CDATA[Reply to String zu Integer on Sat, 07 May 2011 08:32:32 GMT]]></title><description><![CDATA[<p>Skym0sh0 schrieb:</p>
<blockquote>
<p>so in etwa wäre eine möglichkeit, ob das isNumeric so richtig weis ich nicht genau, kannst dir zur not ja ne eigene funktione schreiben</p>
</blockquote>
<p>Die Funktion nennt sich isdigit(). Und ich würde mir mit find_if() den Anfang und das Ende der Zahl aus diesem Eingabestring herausholen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059901</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059901</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 07 May 2011 08:32:32 GMT</pubDate></item><item><title><![CDATA[Reply to String zu Integer on Sat, 07 May 2011 08:39:25 GMT]]></title><description><![CDATA[<p>Hey, das ging ja richtig schnell! Geschätze halbe Stunde! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Danke für eure Antworten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059903</guid><dc:creator><![CDATA[*JP 0]]></dc:creator><pubDate>Sat, 07 May 2011 08:39:25 GMT</pubDate></item><item><title><![CDATA[Reply to String zu Integer on Sat, 07 May 2011 08:41:41 GMT]]></title><description><![CDATA[<p>Hey, das ging ja richtig schnell! Geschätze halbe Stunde! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /><br />
Danke für eure Antworten!</p>
<p>EDIT:<br />
Warum steht mein Beitrag jetzt zweimal da?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059904</guid><dc:creator><![CDATA[*JP 0]]></dc:creator><pubDate>Sat, 07 May 2011 08:41:41 GMT</pubDate></item><item><title><![CDATA[Reply to String zu Integer on Sat, 07 May 2011 08:43:47 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Skym0sh0 schrieb:</p>
<blockquote>
<p>so in etwa wäre eine möglichkeit, ob das isNumeric so richtig weis ich nicht genau, kannst dir zur not ja ne eigene funktione schreiben</p>
</blockquote>
<p>Die Funktion nennt sich isdigit(). Und ich würde mir mit find_if() den Anfang und das Ende der Zahl aus diesem Eingabestring herausholen.</p>
</blockquote>
<p>ja dass es so eine möglichkeit gibt ist mir klar, aber ich hab den ganzen stl kram leider noch nicht gut drauf und deswegen hab ich ihm die Q&amp;D lösung gegeben</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059906</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sat, 07 May 2011 08:43:47 GMT</pubDate></item><item><title><![CDATA[Reply to String zu Integer on Sat, 07 May 2011 08:58:54 GMT]]></title><description><![CDATA[<p>Wobei, im Nachhinein fällt auf, daß der find_if)-Ansatz eventuell andere Ergebnisse liefert als deine Schleife - die würde am ehesten einem remove_if() entsprechen.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13197">@JP</a>: Kann es eigentlich vorkommen, daß die Eingabe mehrere Ziffernblöcke enthält (z.B. &quot;bla12blub34weiter&quot;)? Wenn ja, was soll in so einem Fall ausgegeben werden (bei dem obigen steht die Auswahl zwischen 12, 34, 1234 und &quot;was willst du von mir?&quot;)?</p>
<p>PS: schlecht geschätzt - das waren im Bestfall 18 Minuten <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/2059916</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059916</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 07 May 2011 08:58:54 GMT</pubDate></item><item><title><![CDATA[Reply to String zu Integer on Sat, 07 May 2011 09:19:36 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Wobei, im Nachhinein fällt auf, daß der find_if)-Ansatz eventuell andere Ergebnisse liefert als deine Schleife - die würde am ehesten einem remove_if() entsprechen.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/13197">@JP</a>: Kann es eigentlich vorkommen, daß die Eingabe mehrere Ziffernblöcke enthält (z.B. &quot;bla12blub34weiter&quot;)? Wenn ja, was soll in so einem Fall ausgegeben werden (bei dem obigen steht die Auswahl zwischen 12, 34, 1234 und &quot;was willst du von mir?&quot;)?</p>
<p>PS: schlecht geschätzt - das waren im Bestfall 18 Minuten <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>
</blockquote>
<p>Hallo!<br />
Nein, es kann nicht vorkommen das der String mehrere Ziffernblöcke enthält! (Außer jemand benutzt mein Programm falsch :D)<br />
Könntest du mir noch einmal ein Beispiel zu isDigit() geben? Ich habe das schon ausprobiert, aber irgendwas mache ich falsch <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>PS: Sagen wir zwanzig Minuten! <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/2059926</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059926</guid><dc:creator><![CDATA[*JP 0]]></dc:creator><pubDate>Sat, 07 May 2011 09:19:36 GMT</pubDate></item><item><title><![CDATA[Reply to String zu Integer on Sat, 07 May 2011 09:34:28 GMT]]></title><description><![CDATA[<p>Das Beispiel würde genauso aussehen wie das von Sky, nur daß du das IsNumeric ersetzen mußt durch isdigit (komplett klein geschrieben) - außerdem benötigst du dafür ein <code>#include &lt;cctype&gt;</code> am Programmanfang. Eine Lösung mit STL-Algorithmen wäre:</p>
<pre><code class="language-cpp">string Eingabe; // = &quot;bla123blub&quot;
string::iterator start = find_if(Eingabe.begin(),Eingabe.end(),isdigit);
string::iterator ende  = find_if(start,Eingabe.end(),not1(isdigit));
string Zahl(start,ende);
//wie's weiter geht, siehe FAQ
</code></pre>
<p>(Edit: dafür benötigst du &lt;algorithm&gt; und &lt;functional&gt;)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059930</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 07 May 2011 09:34:28 GMT</pubDate></item><item><title><![CDATA[Reply to String zu Integer on Sat, 07 May 2011 09:40:43 GMT]]></title><description><![CDATA[<p>Es läuft! <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f4a1.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--light_bulb"
      title=":bulb:"
      alt="💡"
    /><br />
Nur musste ich in der for Schleife statt UINT einen ganz normalen Integer nehmen und das ++i durch ein i++ ersetzen. ++i? Hmm... Noch nie davon gehört!<br />
Der Quellcode (für die Nachwelt):</p>
<pre><code class="language-cpp">#include &lt;string&gt;
#include &lt;sstream&gt;
#include &lt;cctype&gt;
#include &lt;iostream&gt;
using namespace std;

int main ()
{
string str = &quot;&lt;test&gt;123456789&lt;/test&gt;&quot;;
stringstream ss;
for(int i = 0; i &lt; str.size(); i++)
{
	if ( isdigit(str[i]) )
	ss &lt;&lt; str[i];

}
int zahl;
ss &gt;&gt; zahl;
cout &lt;&lt; zahl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2059936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059936</guid><dc:creator><![CDATA[*JP 0]]></dc:creator><pubDate>Sat, 07 May 2011 09:40:43 GMT</pubDate></item><item><title><![CDATA[Reply to String zu Integer on Sat, 07 May 2011 09:42:52 GMT]]></title><description><![CDATA[<p>eigentlich wäre size_t noch besser für die Variable. Und ++i und i++ ist in diesem Zusammenhang eigentlich gleichwertig (die unterscheiden sich nur in ihrem Rückgabewert, Stichwort: Pre-Inkrement vs. Post-Inkrement).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2059938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2059938</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Sat, 07 May 2011 09:42:52 GMT</pubDate></item></channel></rss>