<?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[stringstream frage]]></title><description><![CDATA[<p>Guten Abend,</p>
<p>Ich habe ein Problem mit den stringstreams. Ich benutze diese als Converter um 3 floats aus einem string zu extrahieren. Nun zu meinem Problem, dies klappt, komischerweise, nicht immer.</p>
<pre><code class="language-cpp">str=&quot;0.19221 18.27863 0.07777\n&quot;;
conv &lt;&lt; str;
conv &gt;&gt; a[0];
conv &gt;&gt; a[1];
conv &gt;&gt; a[2];
</code></pre>
<p>a ist hierbei ein GLfloat Pointer den ich mit new auf die Größe 3 bringe (sorry, mir ist das Wort nicht eingefallen <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="😃"
    /> )<br />
klappt ohne Probleme, die floats erhalten die Werte 0.19221, 18.27863 und 0.07777.</p>
<p>Das dumme ist, dies klappt nicht immer. Da ich den Fehler nicht genau in Worte fassen kann, poste ich einfach den Code.</p>
<pre><code class="language-cpp">if(AmountMesh&gt;0)
{
	Meshes=new CMesh[AmountMesh];

	for(int i=0;i&lt;AmountMesh;i++)
	{
		conv&lt;&lt;buffer[n];  //nicht benötigt, verworfen
		n++; //n auf 4 erhöhen
		conv.str(&quot;&quot;);
		conv&lt;&lt;buffer[n];
		conv&gt;&gt;a; //a bleibt leer
		Meshes[i].Pos[0]=a; 
		conv&gt;&gt;Meshes[i].Pos[1]; //bleiben auch leer
		conv&gt;&gt;Meshes[i].Pos[2];
</code></pre>
<p>Hier wird kein float aus conv rausgeholt.</p>
<p>Ich habe grad noch etwas weiter probiert und in die Schleife ein</p>
<pre><code class="language-cpp">conv &lt;&lt; buffer[4];
conv &gt;&gt; a;
</code></pre>
<p>gesetzt. a bekommt hier ebenfalls keinen Wert. Wenn ich diese Anweisungen im Code weiter nach oben setze, nach direkt dem Laden der Datei, klappt es und a bekommt den 1. float Wert von buffer[4].</p>
<p>Kann mir das jemand erklären? Ich verstehs nicht, kann daran liegen, das ich grad meine ersten Gehversuchen mit dem std namespace mache oder das ich schon zu müde bin um irgendwas zu finden.</p>
<p>Vielen dank für eure Mühe,</p>
<p>Shelling</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/217677/stringstream-frage</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 11:02:09 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/217677.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Jul 2008 20:16:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to stringstream frage on Wed, 09 Jul 2008 20:16:44 GMT]]></title><description><![CDATA[<p>Guten Abend,</p>
<p>Ich habe ein Problem mit den stringstreams. Ich benutze diese als Converter um 3 floats aus einem string zu extrahieren. Nun zu meinem Problem, dies klappt, komischerweise, nicht immer.</p>
<pre><code class="language-cpp">str=&quot;0.19221 18.27863 0.07777\n&quot;;
conv &lt;&lt; str;
conv &gt;&gt; a[0];
conv &gt;&gt; a[1];
conv &gt;&gt; a[2];
</code></pre>
<p>a ist hierbei ein GLfloat Pointer den ich mit new auf die Größe 3 bringe (sorry, mir ist das Wort nicht eingefallen <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="😃"
    /> )<br />
klappt ohne Probleme, die floats erhalten die Werte 0.19221, 18.27863 und 0.07777.</p>
<p>Das dumme ist, dies klappt nicht immer. Da ich den Fehler nicht genau in Worte fassen kann, poste ich einfach den Code.</p>
<pre><code class="language-cpp">if(AmountMesh&gt;0)
{
	Meshes=new CMesh[AmountMesh];

	for(int i=0;i&lt;AmountMesh;i++)
	{
		conv&lt;&lt;buffer[n];  //nicht benötigt, verworfen
		n++; //n auf 4 erhöhen
		conv.str(&quot;&quot;);
		conv&lt;&lt;buffer[n];
		conv&gt;&gt;a; //a bleibt leer
		Meshes[i].Pos[0]=a; 
		conv&gt;&gt;Meshes[i].Pos[1]; //bleiben auch leer
		conv&gt;&gt;Meshes[i].Pos[2];
</code></pre>
<p>Hier wird kein float aus conv rausgeholt.</p>
<p>Ich habe grad noch etwas weiter probiert und in die Schleife ein</p>
<pre><code class="language-cpp">conv &lt;&lt; buffer[4];
conv &gt;&gt; a;
</code></pre>
<p>gesetzt. a bekommt hier ebenfalls keinen Wert. Wenn ich diese Anweisungen im Code weiter nach oben setze, nach direkt dem Laden der Datei, klappt es und a bekommt den 1. float Wert von buffer[4].</p>
<p>Kann mir das jemand erklären? Ich verstehs nicht, kann daran liegen, das ich grad meine ersten Gehversuchen mit dem std namespace mache oder das ich schon zu müde bin um irgendwas zu finden.</p>
<p>Vielen dank für eure Mühe,</p>
<p>Shelling</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544576</guid><dc:creator><![CDATA[-Shelling-]]></dc:creator><pubDate>Wed, 09 Jul 2008 20:16:44 GMT</pubDate></item></channel></rss>