<?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 mehreren Substrings]]></title><description><![CDATA[<p>Hey Leute...</p>
<p>Sitze hier gerade vor nem echt dummen Problem und habe nen Fehler in meiner Denkensweise...</p>
<p>Also, ich habe einen string ueber getline eingelesen. Dieser String beinhaltet in manchen Faellen Leerzeichen zwischen den einzelnen Woertern. Jetzt wollte ich gerne jedes Wort nach einem Leerzeichen in einen Substring packen, sodass ich jedes Wort (getrennt durch Leerzeichen) als Parameter verwendet werden kann.</p>
<p>Da habe ich mir einfach gedacht...<br />
Ermittel einfach alle Positionen der Leerzeichen mittels find();, speichere die in nem array und erstellst anschliessend mittels substr(); die einzelnen Substrings, welche spaeter einmal als Parameter dienen sollen.</p>
<p>Das war vor einiger Zeit und naja... mir fehlen die Worte.</p>
<pre><code class="language-cpp">string t_data;
               new_sock &gt;&gt; t_data;

               int pos_substr[t_data.length()-1];
               pos_substr[0] = 0;
               pos_substr[0] = t_data.find( &quot; &quot; );

                   for(int i = 1; i &lt; t_data.length()-1; i++ ){
                           pos_substr[i] = t_data.find( &quot; &quot;, pos_substr[i-1] );
                           cout &lt;&lt; pos_substr[i];                          
                   }
</code></pre>
<p>Rgds<br />
coda</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/215992/string-zu-mehreren-substrings</link><generator>RSS for Node</generator><lastBuildDate>Sun, 11 Oct 2026 19:22:42 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/215992.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 17 Jun 2008 20:43:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to String zu mehreren Substrings on Tue, 17 Jun 2008 20:45:56 GMT]]></title><description><![CDATA[<p>Hey Leute...</p>
<p>Sitze hier gerade vor nem echt dummen Problem und habe nen Fehler in meiner Denkensweise...</p>
<p>Also, ich habe einen string ueber getline eingelesen. Dieser String beinhaltet in manchen Faellen Leerzeichen zwischen den einzelnen Woertern. Jetzt wollte ich gerne jedes Wort nach einem Leerzeichen in einen Substring packen, sodass ich jedes Wort (getrennt durch Leerzeichen) als Parameter verwendet werden kann.</p>
<p>Da habe ich mir einfach gedacht...<br />
Ermittel einfach alle Positionen der Leerzeichen mittels find();, speichere die in nem array und erstellst anschliessend mittels substr(); die einzelnen Substrings, welche spaeter einmal als Parameter dienen sollen.</p>
<p>Das war vor einiger Zeit und naja... mir fehlen die Worte.</p>
<pre><code class="language-cpp">string t_data;
               new_sock &gt;&gt; t_data;

               int pos_substr[t_data.length()-1];
               pos_substr[0] = 0;
               pos_substr[0] = t_data.find( &quot; &quot; );

                   for(int i = 1; i &lt; t_data.length()-1; i++ ){
                           pos_substr[i] = t_data.find( &quot; &quot;, pos_substr[i-1] );
                           cout &lt;&lt; pos_substr[i];                          
                   }
</code></pre>
<p>Rgds<br />
coda</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531165</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531165</guid><dc:creator><![CDATA[Coda*linux.PrayLoad]]></dc:creator><pubDate>Tue, 17 Jun 2008 20:45:56 GMT</pubDate></item><item><title><![CDATA[Reply to String zu mehreren Substrings on Tue, 17 Jun 2008 21:22:46 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>warum liest Du nicht gleich in einen vector&lt;string&gt; ein ? Der &quot;normale&quot; operator&gt;&gt;() kann das Trennen al Leerzeichen eigentlic schon.<br />
(ungetestetes implementationsbeispiel)</p>
<pre><code class="language-cpp">vector&lt;string&gt; t_data(istream_iterator&lt;string&gt;(new_sock),  istream_iterator&lt;string&gt;());
</code></pre>
<p>Wenn das aufgrund der Natur von new_sock nicht funktioniert, kann das eigentlich istringstream auch ganz gut:<br />
(ungetestetes implementationsbeispiel)</p>
<pre><code class="language-cpp">string gesamtData;
     new_sock &gt;&gt; gesamtData;
     istringstream istr(gesamtData);
     vector&lt;string&gt; t_data(istream_iterator&lt;string&gt;(istr),  istream_iterator&lt;string&gt;());
</code></pre>
<p>das Ganze Gefummel mit den Indizes und den damit verbundenen &quot;off-by-one&quot;-Problemen würde ich mir sparen...</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1531188</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1531188</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Tue, 17 Jun 2008 21:22:46 GMT</pubDate></item></channel></rss>