<?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 stream parser]]></title><description><![CDATA[<p>Hallo,<br />
ich hab ein einfaches File, dass so aufgebaut ist:</p>
<pre><code>//hksahjkdhsakdshladl
#sadadsafsgrrft4

v 1.1 
v 4.4 

#asdadsadsadasd
/hkhsadkhaksdksa
</code></pre>
<p>Mithilfe von string streams möchte ich jetzt nur zu den &quot;v&quot; springen. Doch irgendwie möchte das nicht hinhauen. Hier mal der Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;conio.h&gt;
#include &lt;sstream&gt;
#include &lt;vector&gt;

std::string getWord(std::string Line, int Pos)
{
	std::vector&lt;std::string&gt; Vec;
	std::stringstream ss(Line);
	std::string Word, a;
    while(ss &gt;&gt; Word)
    Vec.push_back(Word);

    if(Pos &gt; Vec.size()-1) 
        return &quot;&quot;;

        return a; 
}

int main(void)
{
	std::ifstream File;
	std::string Line;

	File.open(&quot;Test.obj&quot;,std::ios::in);

	while(!File.eof())
	{
	getline(File,Line);

	if(getWord(Line, 0)==&quot;v&quot;)
	{
		std::cout&lt;&lt;&quot;V wurde gefunden!&quot;&lt;&lt;std::endl;
	}
	else
	{
		std::cout&lt;&lt;&quot;Nae, nix!&quot;&lt;&lt;std::endl;
	}
	}

	getch();
}
</code></pre>
<p>Hoffentlich reicht die Info, ich dnake schonmal im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/230794/string-stream-parser</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 03:27:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/230794.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 02 Jan 2009 08:52:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 08:52:03 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich hab ein einfaches File, dass so aufgebaut ist:</p>
<pre><code>//hksahjkdhsakdshladl
#sadadsafsgrrft4

v 1.1 
v 4.4 

#asdadsadsadasd
/hkhsadkhaksdksa
</code></pre>
<p>Mithilfe von string streams möchte ich jetzt nur zu den &quot;v&quot; springen. Doch irgendwie möchte das nicht hinhauen. Hier mal der Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;conio.h&gt;
#include &lt;sstream&gt;
#include &lt;vector&gt;

std::string getWord(std::string Line, int Pos)
{
	std::vector&lt;std::string&gt; Vec;
	std::stringstream ss(Line);
	std::string Word, a;
    while(ss &gt;&gt; Word)
    Vec.push_back(Word);

    if(Pos &gt; Vec.size()-1) 
        return &quot;&quot;;

        return a; 
}

int main(void)
{
	std::ifstream File;
	std::string Line;

	File.open(&quot;Test.obj&quot;,std::ios::in);

	while(!File.eof())
	{
	getline(File,Line);

	if(getWord(Line, 0)==&quot;v&quot;)
	{
		std::cout&lt;&lt;&quot;V wurde gefunden!&quot;&lt;&lt;std::endl;
	}
	else
	{
		std::cout&lt;&lt;&quot;Nae, nix!&quot;&lt;&lt;std::endl;
	}
	}

	getch();
}
</code></pre>
<p>Hoffentlich reicht die Info, ich dnake schonmal im Voraus!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638222</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638222</guid><dc:creator><![CDATA[morbius]]></dc:creator><pubDate>Fri, 02 Jan 2009 08:52:03 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 09:00:22 GMT]]></title><description><![CDATA[<p>Was soll jetzt a sein, dass du da zurück gibst aber nie verwendest? Und für was ist Pos gut?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638226</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638226</guid><dc:creator><![CDATA[hüh????]]></dc:creator><pubDate>Fri, 02 Jan 2009 09:00:22 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 09:12:09 GMT]]></title><description><![CDATA[<p>getWord() ist aber eine hübsche idee. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<pre><code class="language-cpp">if(Pos &gt; Vec.size()-1) 
        return &quot;&quot;;

        return Vec[pos]; //nicht return a;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1638228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638228</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 02 Jan 2009 09:12:09 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 09:14:50 GMT]]></title><description><![CDATA[<p>hüh???? schrieb:</p>
<blockquote>
<p>Und für was ist Pos gut?</p>
</blockquote>
<p>na für</p>
<pre><code class="language-cpp">if(getWord(Line, 0)==&quot;v&quot;) 
    { 
        fileFormatVersion=getWord(Line, 1) 
    }
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1638230</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638230</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 02 Jan 2009 09:14:50 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 09:23:46 GMT]]></title><description><![CDATA[<p>na, wenn man Pos verwendet, machts auch mehr sinn. <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/1638233</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638233</guid><dc:creator><![CDATA[hüh????]]></dc:creator><pubDate>Fri, 02 Jan 2009 09:23:46 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 09:24:37 GMT]]></title><description><![CDATA[<p>Die einrückung ist schrecklich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638234</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638234</guid><dc:creator><![CDATA[PS.]]></dc:creator><pubDate>Fri, 02 Jan 2009 09:24:37 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 09:25:23 GMT]]></title><description><![CDATA[<p>Funzt leider trotzdem nicht...<br />
&quot;Debug Assertion Failed&quot;. Ich möchte einfach nur zu den gewünschten Zeichen springen )-:</p>
<p>Danke!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638235</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638235</guid><dc:creator><![CDATA[morbius]]></dc:creator><pubDate>Fri, 02 Jan 2009 09:25:23 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 09:30:17 GMT]]></title><description><![CDATA[<p>morbius schrieb:</p>
<blockquote>
<p>Funzt leider trotzdem nicht...<br />
&quot;Debug Assertion Failed&quot;. Ich möchte einfach nur zu den gewünschten Zeichen springen )-:</p>
</blockquote>
<pre><code class="language-cpp">if(Pos &gt; Vec.size()-1)
</code></pre>
<p>ist falsch.<br />
richtig ist</p>
<pre><code class="language-cpp">if(Pos+1 &gt; Vec.size())
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1638237</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638237</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 02 Jan 2009 09:30:17 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 09:32:18 GMT]]></title><description><![CDATA[<p>Ok, funktioniert trotzdem nicht, er findet &quot;v&quot; nicht...)-:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638238</guid><dc:creator><![CDATA[morbius]]></dc:creator><pubDate>Fri, 02 Jan 2009 09:32:18 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 09:46:00 GMT]]></title><description><![CDATA[<p>Hast du schon mal was von debuggen gehört?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638240</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638240</guid><dc:creator><![CDATA[hüh????]]></dc:creator><pubDate>Fri, 02 Jan 2009 09:46:00 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 09:46:10 GMT]]></title><description><![CDATA[<p>morbius schrieb:</p>
<blockquote>
<p>Ok, funktioniert trotzdem nicht, er findet &quot;v&quot; nicht...)-:</p>
</blockquote>
<p>komisch, mir fällt kein fehler mehr auf.</p>
<p>in Test.obj ist doch nicht irgendwo ein zeichen mit ascii-code 26, was für dateiende steht, und das dateilesen bricht deshalb ab? dann täte ios::binary helfen.</p>
<p>falls es daran nicht liegt, zeig nochmal das ganze programm, vielleicht hat sich wieder was eingeschlichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638241</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 02 Jan 2009 09:46:10 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 09:46:39 GMT]]></title><description><![CDATA[<p>hüh???? schrieb:</p>
<blockquote>
<p>Hast du schon mal was von debuggen gehört?</p>
</blockquote>
<p>das tun wir doch gerade.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638242</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638242</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 02 Jan 2009 09:46:39 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 09:54:30 GMT]]></title><description><![CDATA[<p>Nein, kein besonderes Zeichen enthalten. Hab auch nichts verändert. Das einzige was in der Konsole kommt ist, 8 x &quot;nae, nix!&quot;. Das heisst er findet es garnicht. Weil das File genau 8 Zeilen hat. Hier nochmal der Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;conio.h&gt;
#include &lt;sstream&gt;
#include &lt;vector&gt;

std::string getWord(std::string Line, int Pos)
{
	std::vector&lt;std::string&gt; Vec;
	std::stringstream ss(Line);
	std::string Word, a;
    while(ss &gt;&gt; Word)
    Vec.push_back(Word);

    if(Pos+1 &gt; Vec.size())
        return &quot;&quot;;

        return Vec[Pos]; 
}

int main(void)
{
	std::ifstream File;
	std::string Line;

	File.open(&quot;Test.obj&quot;,std::ios::in);

	while(!File.eof())
	{
	getline(File,Line);

	if(getWord(Line, 3)==&quot;v&quot;)
	{
		std::cout&lt;&lt;&quot;V wurde gefunden!&quot;&lt;&lt;std::endl;
	}
	else
	{
		std::cout&lt;&lt;&quot;Nae, nix!&quot;&lt;&lt;std::endl;
	}
	}

	getch();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1638248</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638248</guid><dc:creator><![CDATA[morbius]]></dc:creator><pubDate>Fri, 02 Jan 2009 09:54:30 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 10:12:35 GMT]]></title><description><![CDATA[<p>volkard schrieb:</p>
<blockquote>
<p>hüh???? schrieb:</p>
<blockquote>
<p>Hast du schon mal was von debuggen gehört?</p>
</blockquote>
<p>das tun wir doch gerade.</p>
</blockquote>
<p><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>
<p>morbius warum hast du ne 3 aus der 0 gemacht? Mit nem Debugger hättest du das ganz einfach gefunden. :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638254</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638254</guid><dc:creator><![CDATA[hüh????]]></dc:creator><pubDate>Fri, 02 Jan 2009 10:12:35 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 10:20:24 GMT]]></title><description><![CDATA[<p>najut da hatte ich rumproniert, da muss natürlich ne 0 hin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638258</guid><dc:creator><![CDATA[morbius]]></dc:creator><pubDate>Fri, 02 Jan 2009 10:20:24 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 14:19:43 GMT]]></title><description><![CDATA[<p>Was ist denn nun...? Komme leider nicht weiter )-:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638360</guid><dc:creator><![CDATA[morbius]]></dc:creator><pubDate>Fri, 02 Jan 2009 14:19:43 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 14:24:06 GMT]]></title><description><![CDATA[<p>morbius schrieb:</p>
<blockquote>
<p>Was ist denn nun...? Komme leider nicht weiter )-:</p>
</blockquote>
<p>wir dachten, mit der 0 klappts.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638367</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 02 Jan 2009 14:24:06 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 14:27:39 GMT]]></title><description><![CDATA[<p>Nee, leider nicht ;-D</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638370</guid><dc:creator><![CDATA[morbius]]></dc:creator><pubDate>Fri, 02 Jan 2009 14:27:39 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 16:05:32 GMT]]></title><description><![CDATA[<p>morbius schrieb:</p>
<blockquote>
<p>Nee, leider nicht ;-D</p>
</blockquote>
<p>dann würde ich vorschlagen, jetzt mewhr testausgaben zu machen, zum beispiel</p>
<pre><code class="language-cpp">while(!File.eof()) 
    { 
    getline(File,Line); 
cout&lt;&lt;&quot;'&quot;&lt;&lt;Line&lt;&lt;&quot;' '&quot;&lt;&lt;getWord(Line, 0)&lt;&lt;&quot;'&quot;&lt;&lt;endl;
    if(getWord(Line, 0)==&quot;v&quot;)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1638429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638429</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Fri, 02 Jan 2009 16:05:32 GMT</pubDate></item><item><title><![CDATA[Reply to string stream parser on Fri, 02 Jan 2009 18:04:09 GMT]]></title><description><![CDATA[<p>Jo, hab's nu hinbekommen, vielen lieben Dank volkard! Und auch danke an &quot;hüh&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1638489</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1638489</guid><dc:creator><![CDATA[morbius]]></dc:creator><pubDate>Fri, 02 Jan 2009 18:04:09 GMT</pubDate></item></channel></rss>