<?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 tokenisieren und MIT Tokens abspeichern.]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich will einen Eingabestring in seine Einzelteile zerlegen.<br />
Es geht einen kleinen Taschenrechner der einen geklammerten Ausdruck mit den 4 Grundrechenarten auswerten soll.</p>
<p>Als Beispiel: (3 + 4) * 2+34+((7\2)-4 )</p>
<p>Meine Idee war jetzt erstmal alle leerzeichen zu eleminieren.</p>
<p>(3+4)*2+34+((7\2)-4)</p>
<p>Dann wollte ich den Rest nach seinen Zeichen zerlegen. &quot;(,),+,*,-,\&quot;)</p>
<p>Die Zeichen will ich aber im Ergebnis Array gespeichert lassen, weil ich sie dann mittels &quot;switch-case&quot; abarbeiten wollte.</p>
<p>Mein bisheriger Ansatz mit dem gefundenen Code-Schnipsel erstellt einen String-Vektor und fügt die Tokens ohne Trennzeichen ein.</p>
<pre><code>vector&lt;string&gt; tokenize(const string&amp; str, char delim) 
{
    vector&lt;string&gt; tokens;
    stringstream mySstream(str);
    string temp;

    while(getline(mySstream, temp, delim))
        tokens.push_back(temp);

    return tokens;
}
</code></pre>
<p>Hab auch schon ein bissl dran rumgebastelt und die Trennzeichen manuel wieder hinzugefügt, allerdings bekomme ich Probleme, weil ich mehrere Trennzeichen auf einmal habe.</p>
<p>Hat jemand einen Tip, in welche Richtung ich mich mal weiter einarbeiten sollte ?</p>
<p>Vielen Dank für jede Hilfe</p>
<p>Gruß,</p>
<p>Sebastian</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/310323/string-tokenisieren-und-mit-tokens-abspeichern</link><generator>RSS for Node</generator><lastBuildDate>Tue, 04 Aug 2026 19:22:17 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/310323.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Nov 2012 17:56:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to String tokenisieren und MIT Tokens abspeichern. on Thu, 08 Nov 2012 17:56:09 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich will einen Eingabestring in seine Einzelteile zerlegen.<br />
Es geht einen kleinen Taschenrechner der einen geklammerten Ausdruck mit den 4 Grundrechenarten auswerten soll.</p>
<p>Als Beispiel: (3 + 4) * 2+34+((7\2)-4 )</p>
<p>Meine Idee war jetzt erstmal alle leerzeichen zu eleminieren.</p>
<p>(3+4)*2+34+((7\2)-4)</p>
<p>Dann wollte ich den Rest nach seinen Zeichen zerlegen. &quot;(,),+,*,-,\&quot;)</p>
<p>Die Zeichen will ich aber im Ergebnis Array gespeichert lassen, weil ich sie dann mittels &quot;switch-case&quot; abarbeiten wollte.</p>
<p>Mein bisheriger Ansatz mit dem gefundenen Code-Schnipsel erstellt einen String-Vektor und fügt die Tokens ohne Trennzeichen ein.</p>
<pre><code>vector&lt;string&gt; tokenize(const string&amp; str, char delim) 
{
    vector&lt;string&gt; tokens;
    stringstream mySstream(str);
    string temp;

    while(getline(mySstream, temp, delim))
        tokens.push_back(temp);

    return tokens;
}
</code></pre>
<p>Hab auch schon ein bissl dran rumgebastelt und die Trennzeichen manuel wieder hinzugefügt, allerdings bekomme ich Probleme, weil ich mehrere Trennzeichen auf einmal habe.</p>
<p>Hat jemand einen Tip, in welche Richtung ich mich mal weiter einarbeiten sollte ?</p>
<p>Vielen Dank für jede Hilfe</p>
<p>Gruß,</p>
<p>Sebastian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2269047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2269047</guid><dc:creator><![CDATA[nebuto]]></dc:creator><pubDate>Thu, 08 Nov 2012 17:56:09 GMT</pubDate></item><item><title><![CDATA[Reply to String tokenisieren und MIT Tokens abspeichern. on Thu, 08 Nov 2012 19:33:10 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>das allgemeine Stichwort heißt Parser, und davon gibt es dann verschiedene Möglichkeiten z.B. ein einfacher Top-Down-Parser.<br />
Der Artikel <a href="http://www.c-plusplus.net/forum/268247" rel="nofollow">Interpreterbau - Ein Anfang</a> zeigt, wie man so einen Matheparser umsetzen kann.</p>
<p>Dein Ansatz wird so auch nicht direkt funktionieren, da du für Klammerrechnung und verschiedenen Operatorpräzedenzen (z.B. * vor +) einen hierarchischen (rekursiven) Ansatz benötigst.</p>
<p>P.S: Alternativ darfst du dir auch gerne meinen Matheparser unter <a href="http://www.c-plusplus.net/forum/p1780654#1780654" rel="nofollow">http://www.c-plusplus.net/forum/p1780654#1780654</a> anschauen (und nach den beschriebenen Änderungen auch benutzen ;-).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2269073</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2269073</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Thu, 08 Nov 2012 19:33:10 GMT</pubDate></item><item><title><![CDATA[Reply to String tokenisieren und MIT Tokens abspeichern. on Thu, 08 Nov 2012 19:54:35 GMT]]></title><description><![CDATA[<p>Danke sehr !</p>
<p>Also die Rekursion wollte ich nachher mittels der &quot;(&quot; und &quot;)&quot; ein und ausleiten, wobei die Idee nur vage im Kopf war.</p>
<p>Aber dank deinem Link arbeite ich mich jetzt mal durch scannen und parsen durch.</p>
<p>Im Prinzip löst das ja genau die Aufgabe die ich lösen wollte ^^</p>
<p>Ich guck mal ob ich da alles verstehe und falls ich nicht weiterkomme melde ich mich nochmal.</p>
<p>Gruß,</p>
<p>Sebastian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2269087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2269087</guid><dc:creator><![CDATA[nebuto2]]></dc:creator><pubDate>Thu, 08 Nov 2012 19:54:35 GMT</pubDate></item></channel></rss>