<?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 beim Einlesen von Daten und konvertieren mit Stringstreams]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich würde gerne Matrixdaten in eine Datei schreiben und diese anschließend wieder korrekt auslesen. Hab das ganze mal für eine 3x3 Matrix versucht, das Schreiben funktioniert auch soweit, allerdings läuft beim Einlesen danach irgendwas schief.</p>
<pre><code>#include&lt;fstream&gt;
#include&lt;iostream&gt;
#include&lt;string&gt;
#include&lt;sstream&gt;
using namespace std;

int main()
{

	double Matrix[3][3];

	Matrix[0][0] = 	1.0;		Matrix[0][1] = 2.0;		Matrix[0][2] = 3.0;
	Matrix[1][0] = 	4.0;		Matrix[1][1] = 5.0;		Matrix[1][2] = 6.0;
	Matrix[2][0] = 	7.0;		Matrix[2][1] = 8.0;		Matrix[2][2] = 9.0;

	ofstream fout (&quot;Matrix.txt&quot;);
	for(int i=0; i&lt;3; i++)
	{
		for(int j=0; j&lt;3; j++)
		{
			fout &lt;&lt; i &lt;&lt; &quot;\t&quot; &lt;&lt; j &lt;&lt; &quot;\t&quot; &lt;&lt; Matrix[i][j] &lt;&lt; endl;
		}
	}

	fout.close();

        fin.open(&quot;Matrix.txt&quot;);

	double Matrixread[3][3];
	char temp[256];	
	int i,j;
	stringstream sst;		

	while(fin.getline(temp,256))	
		sst &lt;&lt; temp;
		sst &gt;&gt; i;
		sst &gt;&gt; j;
		sst &gt;&gt; Matrixread[i][j];

	fin.close();

	for(int i=0; i&lt;3; i++)
	{
		for(int j=0; j&lt;3; j++)
		{
			cout &lt;&lt; i &lt;&lt; &quot;\t&quot; &lt;&lt; j &lt;&lt; &quot;\t&quot; &lt;&lt; Matrixread[i][j] &lt;&lt; endl;
		}
	}
}
</code></pre>
<p>Die Ausgabe in &quot;Matrix.txt&quot; klappt wunderbar.<br />
Ich vermute ich mache bei den Stringstreams irgendwas falsch, könnt ihr mir helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/263857/problem-beim-einlesen-von-daten-und-konvertieren-mit-stringstreams</link><generator>RSS for Node</generator><lastBuildDate>Sat, 05 Sep 2026 13:44:58 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/263857.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 28 Mar 2010 20:25:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim Einlesen von Daten und konvertieren mit Stringstreams on Sun, 28 Mar 2010 20:25:59 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich würde gerne Matrixdaten in eine Datei schreiben und diese anschließend wieder korrekt auslesen. Hab das ganze mal für eine 3x3 Matrix versucht, das Schreiben funktioniert auch soweit, allerdings läuft beim Einlesen danach irgendwas schief.</p>
<pre><code>#include&lt;fstream&gt;
#include&lt;iostream&gt;
#include&lt;string&gt;
#include&lt;sstream&gt;
using namespace std;

int main()
{

	double Matrix[3][3];

	Matrix[0][0] = 	1.0;		Matrix[0][1] = 2.0;		Matrix[0][2] = 3.0;
	Matrix[1][0] = 	4.0;		Matrix[1][1] = 5.0;		Matrix[1][2] = 6.0;
	Matrix[2][0] = 	7.0;		Matrix[2][1] = 8.0;		Matrix[2][2] = 9.0;

	ofstream fout (&quot;Matrix.txt&quot;);
	for(int i=0; i&lt;3; i++)
	{
		for(int j=0; j&lt;3; j++)
		{
			fout &lt;&lt; i &lt;&lt; &quot;\t&quot; &lt;&lt; j &lt;&lt; &quot;\t&quot; &lt;&lt; Matrix[i][j] &lt;&lt; endl;
		}
	}

	fout.close();

        fin.open(&quot;Matrix.txt&quot;);

	double Matrixread[3][3];
	char temp[256];	
	int i,j;
	stringstream sst;		

	while(fin.getline(temp,256))	
		sst &lt;&lt; temp;
		sst &gt;&gt; i;
		sst &gt;&gt; j;
		sst &gt;&gt; Matrixread[i][j];

	fin.close();

	for(int i=0; i&lt;3; i++)
	{
		for(int j=0; j&lt;3; j++)
		{
			cout &lt;&lt; i &lt;&lt; &quot;\t&quot; &lt;&lt; j &lt;&lt; &quot;\t&quot; &lt;&lt; Matrixread[i][j] &lt;&lt; endl;
		}
	}
}
</code></pre>
<p>Die Ausgabe in &quot;Matrix.txt&quot; klappt wunderbar.<br />
Ich vermute ich mache bei den Stringstreams irgendwas falsch, könnt ihr mir helfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874776</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874776</guid><dc:creator><![CDATA[kaesekuchen86]]></dc:creator><pubDate>Sun, 28 Mar 2010 20:25:59 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen von Daten und konvertieren mit Stringstreams on Sun, 28 Mar 2010 20:32:19 GMT]]></title><description><![CDATA[<p>Bei deiner while-Schleife fehlen Klammern.</p>
<p>Warum eigentlich diese umständliche Art des Parsens? Lies die Daten doch direkt aus dem ifstream.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874780</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 28 Mar 2010 20:32:19 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen von Daten und konvertieren mit Stringstreams on Sun, 28 Mar 2010 20:43:42 GMT]]></title><description><![CDATA[<p>uhh, das mit den Klammern ist natürlich böse <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /><br />
Aber auch mit Klammern funktioniert es leider nicht.</p>
<p>Wie liest man die Daten denn direkt aus dem ifstream?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874785</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874785</guid><dc:creator><![CDATA[kaesekuchen86]]></dc:creator><pubDate>Sun, 28 Mar 2010 20:43:42 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen von Daten und konvertieren mit Stringstreams on Sun, 28 Mar 2010 21:14:20 GMT]]></title><description><![CDATA[<p>kaesekuchen86 schrieb:</p>
<blockquote>
<p>Wie liest man die Daten denn direkt aus dem ifstream?</p>
</blockquote>
<p>Beispielsweise so:</p>
<pre><code class="language-cpp">while(fin &gt;&gt; i, fin &gt;&gt; j)
  fin &gt;&gt; Matrixread[i][j];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1874798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874798</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 28 Mar 2010 21:14:20 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen von Daten und konvertieren mit Stringstreams on Sun, 28 Mar 2010 21:24:42 GMT]]></title><description><![CDATA[<p>Super, das hat geklappt, vielen Dank!</p>
<p>Aber genau verstanden warum das jetzt funktioniert hab ich noch nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>fin liest das erste Wort komplett ein und schreibt es in i, dann liest fin das zweite Wort und schreibt es in j?<br />
Anschließend wird das dritte Wort in Matrixread[i][j] geschrieben (i und j sind ja jetzt bekannt)<br />
Dabei wird automatisch der Typ richtig umgewandelt?<br />
Soweit richtig?<br />
Die Abbruchbedingung für die while-Schleife hab ich absolut nicht verstanden, kannst du die nochmal genauer erläutern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874811</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874811</guid><dc:creator><![CDATA[kaesekuchen86]]></dc:creator><pubDate>Sun, 28 Mar 2010 21:24:42 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim Einlesen von Daten und konvertieren mit Stringstreams on Sun, 28 Mar 2010 21:38:41 GMT]]></title><description><![CDATA[<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> Du kommst auf die Idee mittels Stringstreams zu Parsen aber verstehst die Grundlagen der Streamoperatoren nicht? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
<p>Ich glaube ich sollte dich lieber auf ein Lehrbuch verweisen, anstatt dir eine kurze Erklärung zu geben. Dies sind so grundlegende Techniken, die muss man gründlich verstanden haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1874823</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1874823</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sun, 28 Mar 2010 21:38:41 GMT</pubDate></item></channel></rss>