<?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[Leerzeichen in String]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab ein kleines Problem mit meinem C++ Programm.</p>
<p>Und zwar lese ich eine Datei Zeilenweise ein.<br />
Die Datei sieht folgendermaßen aus:</p>
<p>09801 01 Text<br />
131 01 Text<br />
314 00 Text</p>
<p>Wenn ich jetzt diese Zeile mit getline einlese hab ich es in einer Variablen vom Typ std::string.</p>
<p>Jetzt möchte ich die Position des Textes finden.<br />
Normalerweise mach ich es so das ich dann mit string.find(&quot;01&quot;) die Position finde und dann etwas dazu zähle.</p>
<p>Das klappt eigentlich auch aber mein Problem ist das z.b. in der ersten Zeile ein 01 auch vorne vorhanden ist und er somit mir die falsche Position gibt.</p>
<p>Ich hab es versucht mit string.find(&quot; 01 &quot;) zu suchen aber er ignoriert die Leerzeichen.</p>
<p>Also hab ich gedacht das es für die Leerzeichen vielleicht auch ein Zeichen wie z.b. \n für den Zeilenumbruch gibt.</p>
<p>Doch leider ist mir keins bekannt.</p>
<p>Über jede Hilfe würde ich mir sehr freuen.</p>
<p>MFG</p>
<p>mkbm</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/191081/leerzeichen-in-string</link><generator>RSS for Node</generator><lastBuildDate>Fri, 25 Sep 2026 21:48:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/191081.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Aug 2007 21:24:34 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Leerzeichen in String on Wed, 29 Aug 2007 21:24:34 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich hab ein kleines Problem mit meinem C++ Programm.</p>
<p>Und zwar lese ich eine Datei Zeilenweise ein.<br />
Die Datei sieht folgendermaßen aus:</p>
<p>09801 01 Text<br />
131 01 Text<br />
314 00 Text</p>
<p>Wenn ich jetzt diese Zeile mit getline einlese hab ich es in einer Variablen vom Typ std::string.</p>
<p>Jetzt möchte ich die Position des Textes finden.<br />
Normalerweise mach ich es so das ich dann mit string.find(&quot;01&quot;) die Position finde und dann etwas dazu zähle.</p>
<p>Das klappt eigentlich auch aber mein Problem ist das z.b. in der ersten Zeile ein 01 auch vorne vorhanden ist und er somit mir die falsche Position gibt.</p>
<p>Ich hab es versucht mit string.find(&quot; 01 &quot;) zu suchen aber er ignoriert die Leerzeichen.</p>
<p>Also hab ich gedacht das es für die Leerzeichen vielleicht auch ein Zeichen wie z.b. \n für den Zeilenumbruch gibt.</p>
<p>Doch leider ist mir keins bekannt.</p>
<p>Über jede Hilfe würde ich mir sehr freuen.</p>
<p>MFG</p>
<p>mkbm</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354964</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354964</guid><dc:creator><![CDATA[mkbm]]></dc:creator><pubDate>Wed, 29 Aug 2007 21:24:34 GMT</pubDate></item><item><title><![CDATA[Reply to Leerzeichen in String on Wed, 29 Aug 2007 21:28:53 GMT]]></title><description><![CDATA[<p>ich weiß nicht wie Du das gemacht hast aber bei mir gibt</p>
<pre><code class="language-cpp">string s(&quot;09801 01 Text&quot;);
string::size_type pos = s.find(&quot;01&quot;);
</code></pre>
<p>für pos = 3</p>
<p>und bei</p>
<pre><code class="language-cpp">string s(&quot;09801 01 Text&quot;);
string::size_type pos = s.find(&quot; 01 &quot;);
</code></pre>
<p>für pos = 5</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354968</guid><dc:creator><![CDATA[Airdamn]]></dc:creator><pubDate>Wed, 29 Aug 2007 21:28:53 GMT</pubDate></item><item><title><![CDATA[Reply to Leerzeichen in String on Wed, 29 Aug 2007 21:38:07 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>danke für die Antwort.</p>
<p>Hm, ok. Es scheint wohl ein dummer fehler von mir gewesen zu sein.<br />
Ich glaub jetzt funktioniert es bei mir auch.</p>
<p>Das kommt wohl vor wenn man seit 3 Nächte am Projekt arbeitet und nicht zum schlafen kommt.</p>
<p>Tut mir leid für die Frage. Sollte ich aber dennoch Probleme haben werde ich mich nochmal melden.</p>
<p>MFG</p>
<p>mkbm</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1354978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1354978</guid><dc:creator><![CDATA[mkbm]]></dc:creator><pubDate>Wed, 29 Aug 2007 21:38:07 GMT</pubDate></item><item><title><![CDATA[Reply to Leerzeichen in String on Thu, 30 Aug 2007 07:05:44 GMT]]></title><description><![CDATA[<p>hat std::string nicht eine findlastof Funktion?<br />
Würde diese nicht reichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1355078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1355078</guid><dc:creator><![CDATA[Beliah]]></dc:creator><pubDate>Thu, 30 Aug 2007 07:05:44 GMT</pubDate></item><item><title><![CDATA[Reply to Leerzeichen in String on Thu, 30 Aug 2007 07:46:07 GMT]]></title><description><![CDATA[<p>find_last_of und ja.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1355107</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1355107</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 30 Aug 2007 07:46:07 GMT</pubDate></item><item><title><![CDATA[Reply to Leerzeichen in String on Thu, 30 Aug 2007 11:30:07 GMT]]></title><description><![CDATA[<p>mkbm schrieb:</p>
<blockquote>
<p>.. lese ich eine Datei Zeilenweise ein.<br />
Die Datei sieht folgendermaßen aus:</p>
<p>09801 01 Text<br />
131 01 Text<br />
314 00 Text</p>
<p>Wenn ich jetzt diese Zeile mit getline einlese hab ich es in einer Variablen vom Typ std::string.</p>
<p>Jetzt möchte ich die Position des Textes finden. ..</p>
</blockquote>
<p>Es ist meines Erachtens einfacher, gleich das zu lesen, was Du nachher auch haben willst und nicht den Umweg über den String zu machen. Dann entfällt auch Dein konkretes Problem mit dem find(&quot;01&quot;).<br />
Hier könnte das ganze so aussehen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;iomanip&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;

int main()
{
    using namespace std;
    ifstream quelle( &quot;input.txt&quot; );
    if( !quelle.is_open() )
    {
        cerr &lt;&lt; &quot;Fehler beim Oeffnen der Datei&quot; &lt;&lt; endl;
        return -1;
    }
    string txt;
    int a, b;
    while( getline( quelle &gt;&gt; a &gt;&gt; b &gt;&gt; ws, txt ) ) // 'ws' sorgt dafür, das 'txt' mit einem Nicht-Space-Zeichen beginnt
    {
        cout &lt;&lt; &quot;&gt;&quot; &lt;&lt; setw(6) &lt;&lt; a &lt;&lt; &quot; &quot; &lt;&lt; setw(2) &lt;&lt; b &lt;&lt; &quot; &quot; &lt;&lt; txt &lt;&lt; endl;
    }
    return 0;
}
</code></pre>
<p>Falls die führenden Nullen bei den Zahlen erhalten bleiben sollen, so tausche in der Zeile 16 den Typ int durch std::string aus - also</p>
<pre><code class="language-cpp">string a, b;
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1355282</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1355282</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Thu, 30 Aug 2007 11:30:07 GMT</pubDate></item></channel></rss>