<?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[Hilfe bei Fstream]]></title><description><![CDATA[<p>Hallo Leute ich bin dabei ein Spiel so ähnlich wie 2d Super Mario zu machen und will aber meine Maps in Form von .txt Dateien speichern.</p>
<p>Wie schreibe ich nun die Funktion mit der ich auslesen kann wie die Map aussieht also x , y Koordinate usw.</p>
<p>ich hab schon herausgefunden dass man das ungefähr so macht :</p>
<p>fstream f;</p>
<p>f.open(&quot;Map.txt&quot;, ios::in);<br />
char s[256];<br />
f.getline(s, sizeof(s));</p>
<p>Wie kann ich nun aber zwischen Zeilen und Spalten und Tabulatoren unterscheiden oder muss ich immer die ganze Datei lesen lassen um das Wort zu finden das ich suche ??</p>
<p>Danke Dr4xt3r</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/217637/hilfe-bei-fstream</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/217637.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 09 Jul 2008 12:46:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Hilfe bei Fstream on Wed, 09 Jul 2008 12:46:33 GMT]]></title><description><![CDATA[<p>Hallo Leute ich bin dabei ein Spiel so ähnlich wie 2d Super Mario zu machen und will aber meine Maps in Form von .txt Dateien speichern.</p>
<p>Wie schreibe ich nun die Funktion mit der ich auslesen kann wie die Map aussieht also x , y Koordinate usw.</p>
<p>ich hab schon herausgefunden dass man das ungefähr so macht :</p>
<p>fstream f;</p>
<p>f.open(&quot;Map.txt&quot;, ios::in);<br />
char s[256];<br />
f.getline(s, sizeof(s));</p>
<p>Wie kann ich nun aber zwischen Zeilen und Spalten und Tabulatoren unterscheiden oder muss ich immer die ganze Datei lesen lassen um das Wort zu finden das ich suche ??</p>
<p>Danke Dr4xt3r</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544227</guid><dc:creator><![CDATA[Dr4xt3r]]></dc:creator><pubDate>Wed, 09 Jul 2008 12:46:33 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fstream on Wed, 09 Jul 2008 13:04:48 GMT]]></title><description><![CDATA[<p>Achja und noch was :<br />
was macht getline(); eigentlich ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544256</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544256</guid><dc:creator><![CDATA[Dr4xt3r]]></dc:creator><pubDate>Wed, 09 Jul 2008 13:04:48 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fstream on Wed, 09 Jul 2008 13:37:18 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Dr4xt3r schrieb:</p>
<blockquote>
<p>f.open(&quot;Map.txt&quot;, ios::in);</p>
</blockquote>
<p>heisst es nicht fstream::in ?<br />
Stell unbedingt sicher, dass eine Zeile wirklich nur maximal 256 Zeichen lang ist. Ansonsten wird der Rest nämlich verworfen</p>
<p>Dr4xt3r schrieb:</p>
<blockquote>
<p>was macht getline(); eigentlich ?</p>
</blockquote>
<p>Das holt dir solange Zeichen, bis es ein Zeilenendezeichen liest.</p>
<p>Vielleicht hilft dir strtok weiter. Falls du aber einfach nur wie<br />
hhhhhhhhhhhhhhhhh<br />
ssshhhhhhhhhhssss<br />
ssssssssssshsssss<br />
sssssssssssssssss<br />
sssssssssssssssss<br />
speicherst, wird das folgende generell besser sein:<br />
Da wir hier in C++ sind und fstream nur von istream abgeleitet ist, machs ungefähr so:</p>
<pre><code class="language-cpp">fstream f(map.txt, fstream::in);
string s;
while(!f.eof())
{
   f &gt;&gt; s; //Stream-Operator: liest Zeile und schreibt sie in string
}
//Zugriff auf char:
cout &lt;&lt; s[0];
</code></pre>
<p>Wenn du große Maps in Textdateien speicherst, empfehle ich dir dringend eine Kompression. (zlib etc.)</p>
<p>mfg, Hans</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544289</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544289</guid><dc:creator><![CDATA[Golem86]]></dc:creator><pubDate>Wed, 09 Jul 2008 13:37:18 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fstream on Wed, 09 Jul 2008 13:38:56 GMT]]></title><description><![CDATA[<p><a href="http://www.google.de/search?num=100&amp;hl=de&amp;q=was+macht+getline%28%29%3B+eigentlich+%3F+&amp;meta=lr%3Dlang_de%7Clang_en" rel="nofollow">http://www.google.de/search?num=100&amp;hl=de&amp;q=was+macht+getline%28%29%3B+eigentlich+%3F+&amp;meta=lr%3Dlang_de%7Clang_en</a></p>
<p>^^</p>
<p>sagt das nicht eigtl schon der name?</p>
<p>es kopiert die zeile aus dem stream in den string und löscht sie dann in dem stream...</p>
<p>alternativ: msdn...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544291</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544291</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Wed, 09 Jul 2008 13:38:56 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fstream on Wed, 09 Jul 2008 13:41:14 GMT]]></title><description><![CDATA[<p>unskilled schrieb:</p>
<blockquote>
<p>alternativ: msdn...</p>
</blockquote>
<p>ich würde sagen für diesen Zweck besser <a href="http://cplusplus.com" rel="nofollow">http://cplusplus.com</a><br />
MSDN will einem oft Windoof-spezifische Funtionen andrehen</p>
<p>mfg, Hans</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544294</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544294</guid><dc:creator><![CDATA[Golem86]]></dc:creator><pubDate>Wed, 09 Jul 2008 13:41:14 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fstream on Wed, 09 Jul 2008 13:43:30 GMT]]></title><description><![CDATA[<p>Dr4xt3r schrieb:</p>
<blockquote>
<p>...ich bin dabei ein Spiel so ähnlich wie 2d Super Mario zu machen...<br />
... Wie schreibe ich nun die Funktion mit der ich auslesen kann...</p>
</blockquote>
<p>Sorry, aber von jemanden der ein grafisches Spiel unter C++ programmiert erwarte ich auch, das dieser die C++ Grundlagen beherrscht. Wie wäre es wenn du dich erstmal mit C++ als solches, und anschließend mit der Spieleentwicklung beschäftigst (Ein weiteres Thema: wenn nichts dagegen spricht würde ich mit std::string statt mit char[] arbeiten).</p>
<p>cu André</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544299</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544299</guid><dc:creator><![CDATA[asc]]></dc:creator><pubDate>Wed, 09 Jul 2008 13:43:30 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fstream on Wed, 09 Jul 2008 13:48:16 GMT]]></title><description><![CDATA[<p>[quote=&quot;asc&quot;]</p>
<p>Dr4xt3r schrieb:</p>
<blockquote>
<p>wenn nichts dagegen spricht würde ich mit std::string statt mit char[] arbeiten).</p>
</blockquote>
<p>Richtig. char[] provoziert einfach Probleme. Beonders bei Maps ist string m.E. unumgänglich.</p>
<p>mfg, Hans</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544307</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544307</guid><dc:creator><![CDATA[Golem86]]></dc:creator><pubDate>Wed, 09 Jul 2008 13:48:16 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fstream on Wed, 09 Jul 2008 21:19:08 GMT]]></title><description><![CDATA[<p>[quote=&quot;asc]</p>
<p>Sorry, aber von jemanden der ein grafisches Spiel unter C++ programmiert erwarte ich auch, das dieser die C++ Grundlagen beherrscht. Wie wäre es wenn du dich erstmal mit C++ als solches, und anschließend mit der Spieleentwicklung beschäftigst (Ein weiteres Thema: wenn nichts dagegen spricht würde ich mit std::string statt mit char[] arbeiten).</p>
<p>cu André[/quote]</p>
<p>Ja n kleiner Fehler also ich mach das mit Visual C++ da ich son Buch habe das Heisst : Spieleprogrammiereung mit DirectX und Visual C++ und da lernt man eigentlich zumal den Anfang von c++ also Funktionen , Klassen , Zeiger usw.<br />
und dann lernt man halt den Standard Einsatz von DirectX und geht nicht so tief in c++ ein also muss ich mir das fehlende halt so von Kollegen und im internet beschaffen. ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544596</guid><dc:creator><![CDATA[Dr4xt3r]]></dc:creator><pubDate>Wed, 09 Jul 2008 21:19:08 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fstream on Wed, 09 Jul 2008 21:58:13 GMT]]></title><description><![CDATA[<p>DirectX ist meiner Meinung nach halt eher für 3D geeignet. Allegro soll für 2D schon ganz gut sein (ich selbst hab aber noch keine Erfahrungen damit gemacht).<br />
Wenn du nicht viel zeit hast dann ist so ein Buch eigentlich genau des richtige aber am Ende sollte man sich dann schon mal in Std-C++ &quot;aufskillen&quot;, einfach weil man damit einige Probleme sehr einfach lösen kann.<br />
Wenn man nur irgendwie 3D programmieren will eigenet sich m.E. GLUT mit OpenGL am besten, da mand damit Modelle schon mit ~15 Zeilen Code erstellen kann.</p>
<p>mfg, Hans</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544611</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544611</guid><dc:creator><![CDATA[Golem86]]></dc:creator><pubDate>Wed, 09 Jul 2008 21:58:13 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fstream on Wed, 09 Jul 2008 22:09:10 GMT]]></title><description><![CDATA[<p>Golem86 schrieb:</p>
<blockquote>
<p>DirectX ist meiner Meinung nach halt eher für 3D geeignet.</p>
</blockquote>
<p>DirectX ist genauso für 2D geeignet. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544617</guid><dc:creator><![CDATA[drakon]]></dc:creator><pubDate>Wed, 09 Jul 2008 22:09:10 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fstream on Wed, 09 Jul 2008 22:23:27 GMT]]></title><description><![CDATA[<p>mir is da noch was aufgefallen als ich mir nämlich die .txt von Rome Total War angeschaut habe Da werden alle Sachen in Diesem Format aufgelistet :</p>
<p>Name x y<br />
Name x y</p>
<p>und mit getline allein muss man ja eig. zwangsweise auf das Format zurückgreifen:</p>
<p>Name<br />
x<br />
y</p>
<p>Name<br />
x<br />
y</p>
<p>Also beim obigen Format wird die sache dann schon etwas komplizierter oder lässt sich das mit getline auch lösen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544625</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544625</guid><dc:creator><![CDATA[Dr4xt3r]]></dc:creator><pubDate>Wed, 09 Jul 2008 22:23:27 GMT</pubDate></item><item><title><![CDATA[Reply to Hilfe bei Fstream on Wed, 09 Jul 2008 22:30:10 GMT]]></title><description><![CDATA[<p>drakon schrieb:</p>
<blockquote>
<p>Golem86 schrieb:</p>
<blockquote>
<p>DirectX ist meiner Meinung nach halt eher für 3D geeignet.</p>
</blockquote>
<p>DirectX ist genauso für 2D geeignet. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
</blockquote>
<p>Aber möglicherweise zu schwierig für den Einstieg in die Spieleprogrammierung, gerade wenn man noch nicht einmal die C++-Grundlagen beherrscht...<br />
Ich rate für 2D-Spieleprogrammierung immer zu <a href="http://www.sfml-dev.org/" rel="nofollow">SFML</a>, das finde ich wirklich genial. Allegro kenn ich jetzt nicht, ich hab jedoch schon häufig Schlechtes darüber gehört. Bei SFML ist sicher auch die Performance kein Problem. Mehr dazu gibts auch im Spiele-/Grafikprogrammierung-Forum, dort werden viele solcher Diskussionen geführt.</p>
<p>Dr4xt3r schrieb:</p>
<blockquote>
<p>Also beim obigen Format wird die sache dann schon etwas komplizierter oder lässt sich das mit getline auch lösen</p>
</blockquote>
<p>Ja, es lässt sich auch mit der globalen Funktion <code>std::getline()</code> (nicht <code>std::fstream::getline()</code> , das ist für C-Strings) lösen. Am flexibelsten bist du wohl mit den <code>std::string</code> -Funktionen <code>find()</code> und <code>substr</code> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1544627</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1544627</guid><dc:creator><![CDATA[Nexus]]></dc:creator><pubDate>Wed, 09 Jul 2008 22:30:10 GMT</pubDate></item></channel></rss>