<?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[Problem mit Zeilen auslesen]]></title><description><![CDATA[<p>Hallo,</p>
<p>wollte mal zu nem Problem eure Meinung hören.<br />
Ich habe eine Zeile, die lautet:</p>
<pre><code class="language-cpp">exprs=[&quot;1&quot;;&quot;4+2*s&quot;]
</code></pre>
<p>Ich will einen Code schreiben der mir die Zahl nach dem &quot;;&quot; ausgibt, in dem Fall die 4.</p>
<p>Mein bisheriger Code sieht aus:</p>
<pre><code class="language-cpp">pos1=string.find(&quot;;\&quot;&quot;)+1;
pos2=string.find(&quot;+&quot;);
pos3=pos2-pos1;	
string a=string.substr(pos1,pos3);
</code></pre>
<p>Wenn jetzt aber ein -2 dasteht funktioniert es nicht mehr (exprs=[&quot;1&quot;;&quot;4-2*s&quot;]). Für den Fall dann mit if. Aber wenn irgenwo anders ein Minus steht, also anstatt 1 eine -1 funktionierts auch nicht mehr (exprs=[&quot;-1&quot;;&quot;4-2*s&quot;]).<br />
Man könnte auch pos2=string.find(&quot;*s&quot;) machen und dann Stellen zurückrechnen aber das geht auch nicht, da ja anstatt der 2 auch eine zwei- oder dreistellige Zahl stehen könnte (exprs=[&quot;-1&quot;;&quot;14-92*s&quot;]).</p>
<p>Hat jemand ne Idee oder ne andere Methode wie ich an meine Zahl rankomm? (Im letzten Beispiel an die 14...)</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/259136/problem-mit-zeilen-auslesen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 08 Sep 2026 23:08:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/259136.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 19 Jan 2010 14:49:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit Zeilen auslesen on Tue, 19 Jan 2010 14:49:02 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wollte mal zu nem Problem eure Meinung hören.<br />
Ich habe eine Zeile, die lautet:</p>
<pre><code class="language-cpp">exprs=[&quot;1&quot;;&quot;4+2*s&quot;]
</code></pre>
<p>Ich will einen Code schreiben der mir die Zahl nach dem &quot;;&quot; ausgibt, in dem Fall die 4.</p>
<p>Mein bisheriger Code sieht aus:</p>
<pre><code class="language-cpp">pos1=string.find(&quot;;\&quot;&quot;)+1;
pos2=string.find(&quot;+&quot;);
pos3=pos2-pos1;	
string a=string.substr(pos1,pos3);
</code></pre>
<p>Wenn jetzt aber ein -2 dasteht funktioniert es nicht mehr (exprs=[&quot;1&quot;;&quot;4-2*s&quot;]). Für den Fall dann mit if. Aber wenn irgenwo anders ein Minus steht, also anstatt 1 eine -1 funktionierts auch nicht mehr (exprs=[&quot;-1&quot;;&quot;4-2*s&quot;]).<br />
Man könnte auch pos2=string.find(&quot;*s&quot;) machen und dann Stellen zurückrechnen aber das geht auch nicht, da ja anstatt der 2 auch eine zwei- oder dreistellige Zahl stehen könnte (exprs=[&quot;-1&quot;;&quot;14-92*s&quot;]).</p>
<p>Hat jemand ne Idee oder ne andere Methode wie ich an meine Zahl rankomm? (Im letzten Beispiel an die 14...)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1841439</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1841439</guid><dc:creator><![CDATA[MikeBb]]></dc:creator><pubDate>Tue, 19 Jan 2010 14:49:02 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeilen auslesen on Tue, 19 Jan 2010 15:01:11 GMT]]></title><description><![CDATA[<p>Ach quatsch die exprs-Zeile ist ja kein C++-Code.<br />
Sorry. Das ist ein String den ich analysieren will.</p>
<p>Ich hoff ihr checkt trotzdem was ich mein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1841454</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1841454</guid><dc:creator><![CDATA[MikeBb]]></dc:creator><pubDate>Tue, 19 Jan 2010 15:01:11 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeilen auslesen on Tue, 19 Jan 2010 15:33:30 GMT]]></title><description><![CDATA[<p>MikeBb schrieb:</p>
<blockquote>
<p>Hat jemand ne Idee oder ne andere Methode wie ich an meine Zahl rankomm? (Im letzten Beispiel an die 14...)</p>
</blockquote>
<p>Du könntest den String in einen Stringstream schieben. Dann setzt du den Lesezeiger an den Anfang der Zahl (deine pos1). Dann benutzt du den Operator &gt;&gt; zum auslesen einer Zahl. Dieser sollte mit allem klarkommen, was du da haben könntest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1841470</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1841470</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 19 Jan 2010 15:33:30 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeilen auslesen on Tue, 19 Jan 2010 16:50:32 GMT]]></title><description><![CDATA[<p>MikeBb schrieb:</p>
<blockquote>
<p>Ach quatsch die exprs-Zeile ist ja kein C++-Code.</p>
</blockquote>
<p>also steht diese Zeile in einer Datei - oder?</p>
<p>Egal wo sie steht, man kann es immer auslesen - z.B. aus einer Datei 'input.txt':</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;

int main()
{
    using namespace std;
    ifstream in( &quot;input.txt&quot; ); // da steht 'exprs=[&quot;-1&quot;;&quot;-4+2*s&quot;]' drin
    in.ignore( 999, ';' ); // bis und einschließlich ';' überlesen
    in.ignore( 999, '&quot;' ); // noch das &quot; überlesen
    int zahl;
    if( in &gt;&gt; zahl ) // und dann die erste Zahl im String nach dem ';' lesen
        cout &lt;&lt; &quot;Die Zahl ist:&quot; &lt;&lt; zahl &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>.. liefert: 'Die Zahl ist:-4'</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1841502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1841502</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 19 Jan 2010 16:50:32 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeilen auslesen on Tue, 19 Jan 2010 16:59:45 GMT]]></title><description><![CDATA[<p>das geht auch noch hübscher:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;

std::istream&amp; jump2start( std::istream&amp; in )
{
    return in.ignore( 999, ';' ).ignore( 999, '&quot;' );
}

int main()
{
    using namespace std;
    ifstream in( &quot;input.txt&quot; ); // Inhalt: exprs=[&quot;-1000&quot;;&quot;-42+27*s&quot;]
    int zahl1, zahl2;
    if( in &gt;&gt; jump2start &gt;&gt; zahl1 &gt;&gt; zahl2 )
        cout &lt;&lt; &quot;Die Zahlen sind: &quot; &lt;&lt; zahl1 &lt;&lt; &quot;, &quot; &lt;&lt; zahl2 &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>liefert: 'Die Zahlen sind: -42, 27'</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1841505</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1841505</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 19 Jan 2010 16:59:45 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeilen auslesen on Tue, 19 Jan 2010 17:16:38 GMT]]></title><description><![CDATA[<p>Dankeschön für die Hilfe! Ihr habt mir sehr geholfen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1841511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1841511</guid><dc:creator><![CDATA[MikeBb]]></dc:creator><pubDate>Tue, 19 Jan 2010 17:16:38 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeilen auslesen on Tue, 19 Jan 2010 17:40:19 GMT]]></title><description><![CDATA[<p>Aber ne kleine Frage hab ich noch.<br />
Die exprs-Zeile steht in nem string drinnen, nicht in einer file.<br />
Geht das auch?</p>
<p>Mfg Mike</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1841538</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1841538</guid><dc:creator><![CDATA[MikeBb]]></dc:creator><pubDate>Tue, 19 Jan 2010 17:40:19 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeilen auslesen on Tue, 19 Jan 2010 18:01:27 GMT]]></title><description><![CDATA[<p>MikeBb schrieb:</p>
<blockquote>
<p>Aber ne kleine Frage hab ich noch.<br />
Die exprs-Zeile steht in nem string drinnen, nicht in einer file.<br />
Geht das auch?</p>
<p>Mfg Mike</p>
</blockquote>
<p>Siehe erste Antwort: Mit stringstream kann man einen String genauso behandeln wie einen (Datei-)stream.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1841552</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1841552</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 19 Jan 2010 18:01:27 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeilen auslesen on Tue, 19 Jan 2010 18:12:54 GMT]]></title><description><![CDATA[<p>MikeBb schrieb:</p>
<blockquote>
<p>Aber ne kleine Frage hab ich noch.<br />
Die exprs-Zeile steht in nem string drinnen, nicht in einer file.</p>
</blockquote>
<p>wie und wo wird dennn dieser String mit seinem Inhalt gefüllt?<br />
fragt Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1841558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1841558</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Tue, 19 Jan 2010 18:12:54 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit Zeilen auslesen on Tue, 19 Jan 2010 18:45:34 GMT]]></title><description><![CDATA[<p>Danke jetzt hab ichs. So ist es ja noch leichter die Zeilen zu analysieren. Davor hab ich das alles mit find und substr gemacht.</p>
<p>Die Zeilen wurden vorher mit getline in einen stringvektor gespeichert, deswegen brauch ich stringstream.</p>
<p>Merci an alle</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1841575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1841575</guid><dc:creator><![CDATA[MikeBb]]></dc:creator><pubDate>Tue, 19 Jan 2010 18:45:34 GMT</pubDate></item></channel></rss>