<?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[Ifstream&#x2F;ofstream, datei auslese (unbekannte größe)]]></title><description><![CDATA[<p>Hey Leute</p>
<p>Ich hab ein kleines problem.</p>
<p>Ich möchte eine 2d Map erstelle, die Ladefunktion klappt auch soweit.<br />
Ich muss halt nur in der Schleife angeben, wie hoch die Map ist und wie weit.</p>
<p>Ich habe aber ein problem damit, die größe immer fest anzugeben.</p>
<p>Gibt es eine möglichkeit, mit einem 2d vector und einer schleife, so lange zu laden, bis man am Ende der Datei angelangt ist.</p>
<p>Die Daten sind so in der Dateui gespeichert:</p>
<p>1,1|2,1|1,1|<br />
1,1|2,1|1,1| Die erste Zahl ist das Sprite, die zweite nach dem , ist die Collision und beide gehören zueinander, worauf béi jedem paar ein | folgt.</p>
<p>Ich hoffe ihr könnt mir helfen</p>
<p>MFG Sheridon</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/316392/ifstream-ofstream-datei-auslese-unbekannte-größe</link><generator>RSS for Node</generator><lastBuildDate>Thu, 30 Jul 2026 04:54:33 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/316392.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 02 May 2013 13:48:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ifstream&#x2F;ofstream, datei auslese (unbekannte größe) on Thu, 02 May 2013 13:48:52 GMT]]></title><description><![CDATA[<p>Hey Leute</p>
<p>Ich hab ein kleines problem.</p>
<p>Ich möchte eine 2d Map erstelle, die Ladefunktion klappt auch soweit.<br />
Ich muss halt nur in der Schleife angeben, wie hoch die Map ist und wie weit.</p>
<p>Ich habe aber ein problem damit, die größe immer fest anzugeben.</p>
<p>Gibt es eine möglichkeit, mit einem 2d vector und einer schleife, so lange zu laden, bis man am Ende der Datei angelangt ist.</p>
<p>Die Daten sind so in der Dateui gespeichert:</p>
<p>1,1|2,1|1,1|<br />
1,1|2,1|1,1| Die erste Zahl ist das Sprite, die zweite nach dem , ist die Collision und beide gehören zueinander, worauf béi jedem paar ein | folgt.</p>
<p>Ich hoffe ihr könnt mir helfen</p>
<p>MFG Sheridon</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2320353</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320353</guid><dc:creator><![CDATA[Sheridon]]></dc:creator><pubDate>Thu, 02 May 2013 13:48:52 GMT</pubDate></item><item><title><![CDATA[Reply to Ifstream&#x2F;ofstream, datei auslese (unbekannte größe) on Thu, 02 May 2013 13:50:51 GMT]]></title><description><![CDATA[<p>Spricht denn etwas dagegen, die Datenstruktur dynamisch wachsen zu lassen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2320355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320355</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 02 May 2013 13:50:51 GMT</pubDate></item><item><title><![CDATA[Reply to Ifstream&#x2F;ofstream, datei auslese (unbekannte größe) on Thu, 02 May 2013 13:53:42 GMT]]></title><description><![CDATA[<p>die map wird nacher durch einen Map Editor erstellt, ich denke also es würde nichts dagegen sprechen, die map soll ja dynamisch erstellbar sein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2320356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320356</guid><dc:creator><![CDATA[Sheridon]]></dc:creator><pubDate>Thu, 02 May 2013 13:53:42 GMT</pubDate></item><item><title><![CDATA[Reply to Ifstream&#x2F;ofstream, datei auslese (unbekannte größe) on Thu, 02 May 2013 13:58:12 GMT]]></title><description><![CDATA[<p>Wieso map? Ich erkenne hier keinen Key?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2320358</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320358</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Thu, 02 May 2013 13:58:12 GMT</pubDate></item><item><title><![CDATA[Reply to Ifstream&#x2F;ofstream, datei auslese (unbekannte größe) on Thu, 02 May 2013 14:02:31 GMT]]></title><description><![CDATA[<p>nein nein, nicht der container map ^^ ich meine ich benutze einen 2d vektor für eine Spiel Karte=(Map). Ich habe aber eine for schleife, bei der ich die spaltenanzahl und die weite angeben muss, um halt die map aus der text datei zu laden.</p>
<p>Da ich aber verschiedene Maps mit verschiedener größe via Karten Editor erstellen will, soll halt die schleife so lange laufen, bis alles herausgeladen wurde, und auch selber die Zeilenenden erkennen. Sprich also eine Schleife ohne feste Werte zum durchlaufen. (Dynamisch)</p>
<p>weiß bloss überhaupt nicht wie ich das machen soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2320360</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320360</guid><dc:creator><![CDATA[Sheridon]]></dc:creator><pubDate>Thu, 02 May 2013 14:02:31 GMT</pubDate></item><item><title><![CDATA[Reply to Ifstream&#x2F;ofstream, datei auslese (unbekannte größe) on Thu, 02 May 2013 14:05:25 GMT]]></title><description><![CDATA[<p>Sheridon schrieb:</p>
<blockquote>
<p>Da ich aber verschiedene Maps mit verschiedener größe via Karten Editor erstellen will, soll halt die schleife so lange laufen, bis alles herausgeladen wurde, und auch selber die Zeilenenden erkennen. Sprich also eine Schleife ohne feste Werte zum durchlaufen. (Dynamisch)</p>
</blockquote>
<p>dann lies Dir bitte mal <a href="http://www.c-plusplus.net/forum/p1940874#1940874" rel="nofollow">diesen Beitrag</a> durch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2320363</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320363</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Thu, 02 May 2013 14:05:25 GMT</pubDate></item><item><title><![CDATA[Reply to Ifstream&#x2F;ofstream, datei auslese (unbekannte größe) on Thu, 02 May 2013 14:09:16 GMT]]></title><description><![CDATA[<p>danke, werde es mir später genau durchschauen, sieht aber schon sehr gut aus, muss halt nurnoch die , und | abgrenzen davon <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/2320364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320364</guid><dc:creator><![CDATA[Sheridon]]></dc:creator><pubDate>Thu, 02 May 2013 14:09:16 GMT</pubDate></item><item><title><![CDATA[Reply to Ifstream&#x2F;ofstream, datei auslese (unbekannte größe) on Thu, 02 May 2013 14:09:57 GMT]]></title><description><![CDATA[<p>Wobei deine Datenstruktur, falls sie rechteckig ist, wohl weniger ein vector&lt;vector&lt;Datentyp&gt;&gt; sein sollte, sondern eher ein vector&lt;Datentyp&gt; mit einem Wrapper drumrum, der Zeilen- und Spaltenindex auf den passenden Index in der 1D-Datenstruktur umrechnet. Ist in der Regel viel effizienter.</p>
<p>Sheridon schrieb:</p>
<blockquote>
<p>danke, werde es mir später genau durchschauen, sieht aber schon sehr gut aus, muss halt nurnoch die , und | abgrenzen davon <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>
</blockquote>
<p>Das ist eine Aufgabe des Leseoperators deines Datentyps.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2320365</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320365</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 02 May 2013 14:09:57 GMT</pubDate></item><item><title><![CDATA[Reply to Ifstream&#x2F;ofstream, datei auslese (unbekannte größe) on Thu, 02 May 2013 14:11:43 GMT]]></title><description><![CDATA[<p>Sheridon schrieb:</p>
<blockquote>
<p>danke, werde es mir später genau durchschauen, sieht aber schon sehr gut aus, muss halt nurnoch die , und | abgrenzen davon <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>
</blockquote>
<p>dann schau Dir im Listing <a href="http://www.c-plusplus.net/forum/p2016220#2016220" rel="nofollow">dieses Beitrags</a> die Funktion <code>Char&lt;&gt;</code> an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2320366</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320366</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Thu, 02 May 2013 14:11:43 GMT</pubDate></item><item><title><![CDATA[Reply to Ifstream&#x2F;ofstream, datei auslese (unbekannte größe) on Thu, 02 May 2013 20:33:48 GMT]]></title><description><![CDATA[<p>Im Prinzip läuft es auf so etwas raus:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;vector&gt;
// #include &quot;is_endl.h&quot;
// Char&lt;&gt;

struct MapElement
{
    int sprite_;
    int collision_;
};
std::istream&amp; operator&gt;&gt;( std::istream&amp; in, MapElement&amp; e )
{   // Format: &quot;sprite#,collision|&quot;
    return in &gt;&gt; e.sprite_ &gt;&gt; Char&lt;','&gt; &gt;&gt; e.collision_ &gt;&gt; Char&lt;'|'&gt;;
}

int main()
{
    using namespace std;
    ifstream in(&quot;Map.txt&quot;);
    vector&lt; MapElement &gt; Map; // 2D-map auf 1D-Datenstruktur abgebildet; siehe Rat von SeppJ
    int weite = -1;
    for( MapElement pixel; in &gt;&gt; pixel; )
    {
        Map.push_back( pixel );
        if( weite &lt; 0 &amp;&amp; is_endl( in ) ) // nur einmal(!) Zeilenende und damit die Breite erkennen
            weite = Map.size();
    }
    return 0;
}
</code></pre>
<p>.. ohne großartige Fehlerbehandlung.<br />
<code>is_endl</code> und <code>Char&lt;&gt;</code> findest Du hinter den Links, die ich vorher erwähnt habe.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2320492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2320492</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Thu, 02 May 2013 20:33:48 GMT</pubDate></item></channel></rss>