<?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 füllen und lesen eines 2d Arrays]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich soll aus einem Textfile eine &quot;Welt&quot; laden, die aus &quot;#&quot; für Haus und &quot; &quot; für Strasse besteht und diese Zeichen dann in einem 2d-Array speichern, also als Koordinaten. Ich hab mir das nun so überlegt, dass ich die Datei Zeichenweise lese und dann in dem Array ablege. Leider gibt es da ein Problem, dass nur die erste Zeile korrekt gespeichert wird und ich den Fehler einfach nicht finde.<br />
Es handelt sich dabei um eine Welt, die 40 Parzellen breit und 33 Parzellen hoch ist.</p>
<pre><code class="language-cpp">ifstream file;
  string fileName = &quot;test.txt&quot;;

  file.open(fileName.c_str()); 
  if(file)
  {
    while(!file.eof() &amp;&amp; i &lt; 33)
    {
      char buffer;
      file.get(buffer);
	  if(buffer == '#')
		{
		  parcels[i][y] = haus;
		}
		else
		{
		  parcels[i][y] = strasse;
		}
	    y++;
		if(y == 40)
		{
		  i++;
		  y=0;
		}
    }
    file.close();
  }
  else
  {
    cout &lt;&lt; &quot;Datei Fehler!&quot;;
  }
</code></pre>
<p>Ab der zweiten Zeile ist es irgendwie verschoben. Gibt es vielleicht eine einfachere Methode? Zum Beispiel über einen Vektor oder so?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/224721/problem-beim-füllen-und-lesen-eines-2d-arrays</link><generator>RSS for Node</generator><lastBuildDate>Fri, 02 Oct 2026 08:47:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/224721.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 14 Oct 2008 10:50:45 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim füllen und lesen eines 2d Arrays on Tue, 14 Oct 2008 10:50:45 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich soll aus einem Textfile eine &quot;Welt&quot; laden, die aus &quot;#&quot; für Haus und &quot; &quot; für Strasse besteht und diese Zeichen dann in einem 2d-Array speichern, also als Koordinaten. Ich hab mir das nun so überlegt, dass ich die Datei Zeichenweise lese und dann in dem Array ablege. Leider gibt es da ein Problem, dass nur die erste Zeile korrekt gespeichert wird und ich den Fehler einfach nicht finde.<br />
Es handelt sich dabei um eine Welt, die 40 Parzellen breit und 33 Parzellen hoch ist.</p>
<pre><code class="language-cpp">ifstream file;
  string fileName = &quot;test.txt&quot;;

  file.open(fileName.c_str()); 
  if(file)
  {
    while(!file.eof() &amp;&amp; i &lt; 33)
    {
      char buffer;
      file.get(buffer);
	  if(buffer == '#')
		{
		  parcels[i][y] = haus;
		}
		else
		{
		  parcels[i][y] = strasse;
		}
	    y++;
		if(y == 40)
		{
		  i++;
		  y=0;
		}
    }
    file.close();
  }
  else
  {
    cout &lt;&lt; &quot;Datei Fehler!&quot;;
  }
</code></pre>
<p>Ab der zweiten Zeile ist es irgendwie verschoben. Gibt es vielleicht eine einfachere Methode? Zum Beispiel über einen Vektor oder so?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1598694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1598694</guid><dc:creator><![CDATA[skizZ]]></dc:creator><pubDate>Tue, 14 Oct 2008 10:50:45 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim füllen und lesen eines 2d Arrays on Tue, 14 Oct 2008 12:14:44 GMT]]></title><description><![CDATA[<p>Ich persönlich würde da einfach einmal alle Zeichen einlesen (solltest dann einfach schauen, dass keine Leerzeichen als Wert gelten) und dann ganz einfach per</p>
<pre><code class="language-cpp">std::ifstream input;
...
for(...)
    for (...)
       input &gt;&gt; char; //und in container speichern. (am besten Wohl ein std::vector&lt;std::vector&lt;char&gt;&gt;)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1598749</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1598749</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Tue, 14 Oct 2008 12:14:44 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim füllen und lesen eines 2d Arrays on Tue, 14 Oct 2008 12:16:59 GMT]]></title><description><![CDATA[<p>Ich glaube, du musst noch das Newline-Zeichen überspringen, wenn du i hochzählst. Außerdem sieht es so aus, dass du 41 Zeichen pro Zeile liest, weil y bei 0 anfängt und bei 40 aufhört.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1598751</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1598751</guid><dc:creator><![CDATA[GyroGearloose]]></dc:creator><pubDate>Tue, 14 Oct 2008 12:16:59 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim füllen und lesen eines 2d Arrays on Tue, 14 Oct 2008 12:22:32 GMT]]></title><description><![CDATA[<p>Danke für die antworten.</p>
<p>Naja, das Array oder der Vektor sollen ja nicht vom Datentyp Char, sondern einem eigenen Datentyp sein, da wir später noch andere Objekt in die Welt einfügen werden.</p>
<p>Also wenn ich mir i und y ausgeben lasse, dann zählt er richtig <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="🙂"
    /><br />
y wird ja sofort wenn es auf 40 ist wieder auf 0 gesetzt.</p>
<p>wie überspringe ich denn dieses newline zeichen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1598756</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1598756</guid><dc:creator><![CDATA[skizZ]]></dc:creator><pubDate>Tue, 14 Oct 2008 12:22:32 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim füllen und lesen eines 2d Arrays on Tue, 14 Oct 2008 12:25:08 GMT]]></title><description><![CDATA[<p>Müsste mit .ignore() gehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1598760</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1598760</guid><dc:creator><![CDATA[Fellhuhn]]></dc:creator><pubDate>Tue, 14 Oct 2008 12:25:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim füllen und lesen eines 2d Arrays on Tue, 14 Oct 2008 12:28:20 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">if(buffer == '\n')
		{
		  i++;
		  y=0;
		}
</code></pre>
<p>Das war die Lösung des Problems <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1598764</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1598764</guid><dc:creator><![CDATA[skizZ]]></dc:creator><pubDate>Tue, 14 Oct 2008 12:28:20 GMT</pubDate></item></channel></rss>