<?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[[gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen.]]></title><description><![CDATA[<p>Hi,</p>
<p>ich sitze jetzt seit heute Morgen um 9 Uhr da dran und musste jetzt abbrechen weil ich langsam aggressiv werde... Ich bekomm's einfach nicht zum laufen. Ich arbeite mich momentan durch die NeHe Tutorials und komme einfach nicht weiter. Stecke jetzt in Tutorial 10 &quot;Eine 3D Welt laden und sich in ihr bewegen&quot; fest. Dieses <a href="http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=10" rel="nofollow">Tutorial</a> meine ich, bzw. hier auf <a href="http://www.joachimrohde.com/cms/xoops/modules/articles/article.php?id=17" rel="nofollow">deutsch</a>.</p>
<p>Ich hab's jetzt soweit eingegrenzt das ich denke zu wissen wo der Fehler liegt, auch wenn ich ihn nicht finde. <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="😞"
    /> Das ganze soll Daten aus einer Textdatei (world.txt) lesen die momentan so ausschaut:</p>
<pre><code class="language-cpp">/* LEERZEILE (zeigt C++.de sonst nicht an wenn ich hier nix schreib) */
NUMPOLLIES 2

// Test
-1.0 -1.0  0.0 0.0 0.0
 1.0 -1.0  0.0 1.0 0.0
-1.0  1.0  0.0 0.0 1.0

 1.0 -1.0  0.0 1.0 0.0
 1.0  1.0  0.0 1.0 1.0
-1.0  1.0  0.0 0.0 1.0
</code></pre>
<p>Der Code der die Textdatei lesen soll ist der hier:</p>
<pre><code class="language-cpp">void ReadLine( FILE* f, char* string)
{
	do
	{
		fgets( string, 255, f);
	} while ( (string[0] == '/') || (string[0] == '\n'));
}

void SetupWorld()
{
	GLfloat x, y, z, u, v;
	int numtriangles;
	FILE* filein;
	char oneline[255];
	filein = fopen( &quot;world.txt&quot;, &quot;rt&quot;);
	ReadLine( filein, oneline);

	sscanf( oneline, &quot;NUMPOLLIES %d\n&quot;, &amp;numtriangles);

	/* CODE */

	for( int loop = 0; loop &lt; numtriangles; loop++)
	{
		for( int vert = 0; vert &lt; 3; vert++)
		{
			ReadLine( filein, oneline);
			sscanf( oneline, &quot;%f %f %f %f %f&quot;, &amp;x, &amp;y, &amp;z, &amp;u, &amp;v);

			/* CODE */
		}
	}

	fclose( filein);
}
</code></pre>
<p>Ich bekomm's nicht hin. Er liest nur dann den Wert hinter NUMPOLLIES aus (hier also 2), wenn ich die Leerzeile dadrüber entferne. Damit, könnte ich ja sogar leben aber warum ist das so? Normal müsste es doch auch mit der Leerzeile funktionieren? Und beim auslesen der jeweils 5 Werte funktioniert auch was ganz komisch nicht. Ich habe hinterher nur bei x einen Wert. Alle anderen Variablen sind leer. Ich raff's einfach nicht und werd mich jetzt ein wenig an der Wii abreagieren! (Ghost Squad ich komme...)</p>
<p>Gruß Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/266363/gelöst-newbiefrage-nehe-tutorial-10-eine-3d-welt-laden-und-sich-in-ihr-bewegen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 03 Sep 2026 08:19:27 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266363.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 07 May 2010 15:56:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Tue, 11 May 2010 09:38:09 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>ich sitze jetzt seit heute Morgen um 9 Uhr da dran und musste jetzt abbrechen weil ich langsam aggressiv werde... Ich bekomm's einfach nicht zum laufen. Ich arbeite mich momentan durch die NeHe Tutorials und komme einfach nicht weiter. Stecke jetzt in Tutorial 10 &quot;Eine 3D Welt laden und sich in ihr bewegen&quot; fest. Dieses <a href="http://nehe.gamedev.net/data/lessons/lesson.asp?lesson=10" rel="nofollow">Tutorial</a> meine ich, bzw. hier auf <a href="http://www.joachimrohde.com/cms/xoops/modules/articles/article.php?id=17" rel="nofollow">deutsch</a>.</p>
<p>Ich hab's jetzt soweit eingegrenzt das ich denke zu wissen wo der Fehler liegt, auch wenn ich ihn nicht finde. <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="😞"
    /> Das ganze soll Daten aus einer Textdatei (world.txt) lesen die momentan so ausschaut:</p>
<pre><code class="language-cpp">/* LEERZEILE (zeigt C++.de sonst nicht an wenn ich hier nix schreib) */
NUMPOLLIES 2

// Test
-1.0 -1.0  0.0 0.0 0.0
 1.0 -1.0  0.0 1.0 0.0
-1.0  1.0  0.0 0.0 1.0

 1.0 -1.0  0.0 1.0 0.0
 1.0  1.0  0.0 1.0 1.0
-1.0  1.0  0.0 0.0 1.0
</code></pre>
<p>Der Code der die Textdatei lesen soll ist der hier:</p>
<pre><code class="language-cpp">void ReadLine( FILE* f, char* string)
{
	do
	{
		fgets( string, 255, f);
	} while ( (string[0] == '/') || (string[0] == '\n'));
}

void SetupWorld()
{
	GLfloat x, y, z, u, v;
	int numtriangles;
	FILE* filein;
	char oneline[255];
	filein = fopen( &quot;world.txt&quot;, &quot;rt&quot;);
	ReadLine( filein, oneline);

	sscanf( oneline, &quot;NUMPOLLIES %d\n&quot;, &amp;numtriangles);

	/* CODE */

	for( int loop = 0; loop &lt; numtriangles; loop++)
	{
		for( int vert = 0; vert &lt; 3; vert++)
		{
			ReadLine( filein, oneline);
			sscanf( oneline, &quot;%f %f %f %f %f&quot;, &amp;x, &amp;y, &amp;z, &amp;u, &amp;v);

			/* CODE */
		}
	}

	fclose( filein);
}
</code></pre>
<p>Ich bekomm's nicht hin. Er liest nur dann den Wert hinter NUMPOLLIES aus (hier also 2), wenn ich die Leerzeile dadrüber entferne. Damit, könnte ich ja sogar leben aber warum ist das so? Normal müsste es doch auch mit der Leerzeile funktionieren? Und beim auslesen der jeweils 5 Werte funktioniert auch was ganz komisch nicht. Ich habe hinterher nur bei x einen Wert. Alle anderen Variablen sind leer. Ich raff's einfach nicht und werd mich jetzt ein wenig an der Wii abreagieren! (Ghost Squad ich komme...)</p>
<p>Gruß Daniel</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893879</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Tue, 11 May 2010 09:38:09 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Fri, 07 May 2010 16:11:09 GMT]]></title><description><![CDATA[<p>Da ist an sich nichts falsches dran (das ist übrigens C, kein C++).</p>
<p>Falls du unter Windows arbeitest: Dort ist ein Zeilenumbruch \r\n und nicht einfach nur \n, daher wird es dort zu Problemen kommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893895</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893895</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 07 May 2010 16:11:09 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Fri, 07 May 2010 16:20:46 GMT]]></title><description><![CDATA[<p>Genau genommen arbeite ich unter Mac und da soll es ja sogar nur &quot;\r&quot; sein. Aber ich hab alles 3 schon ausprobiert und nix davon funktioniert.</p>
<p>Hmm, wie schreib ich das denn dann richtig in C++? Ich versuch halt momentan C++, SDL und OpenGL alles 3 gleichzeitig durcheinander ohne Vorkenntnisse zu lernen und weil die NeHe Tutorials alle für Windows sind mit C und GLUT komme ich irgendwie manchmal nicht ganz zu rande... <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="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893903</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893903</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Fri, 07 May 2010 16:20:46 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Fri, 07 May 2010 16:39:21 GMT]]></title><description><![CDATA[<p>insanity schrieb:</p>
<blockquote>
<p>Genau genommen arbeite ich unter Mac und da soll es ja sogar nur &quot;\r&quot; sein. Aber ich hab alles 3 schon ausprobiert und nix davon funktioniert.</p>
</blockquote>
<p>Hmm, merkwürdig. Bei mir funktioniert es, habe aber auch keinen Mac. Lass dir zu Debugzwecken doch mal die gelesenen Zeilen in deinem Programm Byte für Byte ausgeben (als Zahlenwert, nicht als Buchstabenwert, sonst siehst du die nicht-druckbaren Zeichen nicht!), damit du siehst, wie der Zeilenumbruch codiert ist.</p>
<blockquote>
<p>Hmm, wie schreib ich das denn dann richtig in C++? Ich versuch halt momentan C++, SDL und OpenGL alles 3 gleichzeitig durcheinander ohne Vorkenntnisse zu lernen und weil die NeHe Tutorials alle für Windows sind mit C und GLUT komme ich irgendwie manchmal nicht ganz zu rande... <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="😞"
    /></p>
</blockquote>
<p>Ganz, ganz anders. Aber dazu liest du dir lieber mal ein C++ Tutorial durch. Je nach gewünschtem Abstraktionsgrad kann man das beliebig kompliziert machen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893912</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893912</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 07 May 2010 16:39:21 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Fri, 07 May 2010 17:01:42 GMT]]></title><description><![CDATA[<p>Einfach reicht mir vollkommen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Hast du da eventuell so aus dem Stehgreif nen Tutorial als Empfehlung für mich? <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/1893922</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893922</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Fri, 07 May 2010 17:01:42 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Fri, 07 May 2010 17:26:25 GMT]]></title><description><![CDATA[<p>insanity schrieb:</p>
<blockquote>
<p>Einfach reicht mir vollkommen... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>Hast du da eventuell so aus dem Stehgreif nen Tutorial als Empfehlung für mich? <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>Ich habe spontan mit Google diese gefunden. Die sind kurz und knapp, sehen aber fachlich kompetent aus.</p>
<p>Tutorial für C-Umsteiger wie dich:<br />
<a href="http://cplus.about.com/od/learning1/ss/clessontwo.htm" rel="nofollow">http://cplus.about.com/od/learning1/ss/clessontwo.htm</a></p>
<p>Überblick über die wichtigsten Klassen die man neben den Streams noch häufig zur Verarbeitung von Eingabedaten benötigt (string und stringstream):<br />
<a href="http://www.cplusplus.com/doc/tutorial/basic_io/" rel="nofollow">http://www.cplusplus.com/doc/tutorial/basic_io/</a></p>
<p>In beiden Fällen gilt, dass der Inhalt, obwohl für cout und cin geschrieben, auch 1:1 auf Dateistreams übertragbar ist. Ein gesundes Grundverständnis der benutzten C++-Terminologie (Klassen, Objekte,...) ist natürlich Voraussetzung um die Tutorials zu verstehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893936</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893936</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 07 May 2010 17:26:25 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Fri, 07 May 2010 17:45:11 GMT]]></title><description><![CDATA[<p>Hab ich was verpasst? Seit wann ist cout vs. printf der wichtigste Unterschied zwischen C und C++? <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1893944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893944</guid><dc:creator><![CDATA[Michael E.]]></dc:creator><pubDate>Fri, 07 May 2010 17:45:11 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Fri, 07 May 2010 17:50:40 GMT]]></title><description><![CDATA[<p>Michael E. schrieb:</p>
<blockquote>
<p>Hab ich was verpasst? Seit wann ist cout vs. printf der wichtigste Unterschied zwischen C und C++? <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>
</blockquote>
<p>Wer sagt, dass es der wichtigste Unterschied ist? In diesem Thread geht es nun einmal nur um Ein-/Ausgabe, deswegen gehe ich auch nur auf die Unterschiede bei diesem Thema ein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893945</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 07 May 2010 17:50:40 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Fri, 07 May 2010 18:22:42 GMT]]></title><description><![CDATA[<p>Nagut, ich pack dann wohl mal die ganze SDL OpenGL Geschichte in die Ecke und fang noch mal vorne an. Scheiße <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="😞"
    /></p>
<p>Aber warum der Code nicht funktioniert weiss jetzt auch keine oder? Na egal, auf geht's, erstmal C++ lernen und dann SDL und OpenGL drauf setzen... <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/1893955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893955</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Fri, 07 May 2010 18:22:42 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Fri, 07 May 2010 18:41:21 GMT]]></title><description><![CDATA[<p>insanity schrieb:</p>
<blockquote>
<p>Aber warum der Code nicht funktioniert weiss jetzt auch keine oder?</p>
</blockquote>
<p>Finden wir es gemeinsam heraus!</p>
<p>Was gibt dieses Programm bei dir aus, wenn die erste Zeile in world.txt eine Leerzeile ist?</p>
<pre><code class="language-cpp">#include&lt;stdio.h&gt;
int main()
{
  char oneline[2];
  FILE* filein;
  filein = fopen( &quot;world.txt&quot;, &quot;rt&quot;);
  fgets( oneline, 2, filein);
  printf(&quot;%i\n&quot;, oneline[0]);
  printf(&quot;%i %i\n&quot;, '\n', '\r');
}
</code></pre>
<p>Ich tippe übrigens auf</p>
<pre><code>32
10 13
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1893961</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893961</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 07 May 2010 18:41:21 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Fri, 07 May 2010 19:21:31 GMT]]></title><description><![CDATA[<p>Da bekomme ich:</p>
<pre><code class="language-cpp">10
10 13
</code></pre>
<p>[EDIT]<br />
Wer lesen kann ist klar im Vorteil. Bekomme die selbe Ausgabe wie du. Hatte in die Textdatei als erstes nen Zeilenumbruch gemacht und kein Leerzeichen... <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/1893968</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893968</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Fri, 07 May 2010 19:21:31 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Fri, 07 May 2010 20:10:35 GMT]]></title><description><![CDATA[<p>insanity schrieb:</p>
<blockquote>
<p>Da bekomme ich:</p>
<pre><code class="language-cpp">10
10 13
</code></pre>
<p>[EDIT]<br />
Wer lesen kann ist klar im Vorteil. Bekomme die selbe Ausgabe wie du. Hatte in die Textdatei als erstes nen Zeilenumbruch gemacht und kein Leerzeichen... <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>Halt, halt, halt! 10 wäre ja richtig! Ich hatte mir gedacht, dass du vielleicht versehentlich ein Leerzeichen in der Datei hattest, dann würde deine Einleseroutine nämlich nicht funktionieren. So sollte sie eigentlich funktionieren, wenn du auf '\n' prüfst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893987</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893987</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 07 May 2010 20:10:35 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Fri, 07 May 2010 20:17:19 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Halt, halt, halt! 10 wäre ja richtig! Ich hatte mir gedacht, dass du vielleicht versehentlich ein Leerzeichen in der Datei hattest, dann würde deine Einleseroutine nämlich nicht funktionieren. So sollte sie eigentlich funktionieren, wenn du auf '\n' prüfst.</p>
</blockquote>
<p>Ne, dann bleib ich bei meinem ersten... 10 war also die Ausgabe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1893989</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1893989</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Fri, 07 May 2010 20:17:19 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Fri, 07 May 2010 22:14:20 GMT]]></title><description><![CDATA[<p>Ok, ich hab mich mal ein wenig eingelesen und bin jetzt soweit, allerdings komme ich jetzt nicht weiter. Wie filter ich denn jetzt am besten die Zeilen raus die Unbrauchbar sind, also alle die mit einem &quot;/&quot; oder &quot;\n&quot; beginnen? Und wie filter ich dann die Werte die ich haben will? Hab's mit sscanf versucht aber irgendwie will das bei mir nicht so wie ich will... <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="😃"
    /></p>
<pre><code class="language-cpp">ifstream f;
string s;
f.open( &quot;world.txt&quot;, ios::in);
while(!f.eof())
{
	getline(f, s);
}
f.close();
</code></pre>
<p>Eventuell hat ja jemand einen Tipp für mich mit dem ich dann vielleicht sogar von selbst drauf komme? <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>Achso, und ich hoffe das ich dann diesmal tatsächlich C++ verwende und nicht wieder C und nur glaube das es C++ ist... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894054</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Fri, 07 May 2010 22:14:20 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Sat, 08 May 2010 11:41:23 GMT]]></title><description><![CDATA[<p>So, Doppelposts sind zwar schon blöd, also 3fach noch blöder, aber muss grad sein... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Hab noch ein wenig rumgespielt und dabei ist mir folgendes aufgefallen bei der Ausgabe des Codes: FILE und ifstream lesen meine .txt anders aus. Also vom Inhalt her. Aber hier mal mein Code und drunter das Ergebnis. Dabei sollte eigentlich bei beiden das selbe Ergebnis rauskommen?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;fstream&gt;
using namespace std;

int main()
{
	cout&lt;&lt;&quot;----------Test1----------ifstream/string&quot;&lt;&lt;endl;
	ifstream file1;
	string content1;
	file1.open(&quot;world.txt&quot;, ios::in);
	while(!file1.eof())
	{
		getline(file1, content1);
		printf(&quot;%i: &quot;, content1[0]);
		cout&lt;&lt;content1&lt;&lt;endl;
	}
	file1.close();

	cout&lt;&lt;&quot;----------Test2----------ifstream/char&quot;&lt;&lt;endl;
	ifstream file2;
	char content2[256];
	file2.open(&quot;world.txt&quot;, ios::in);
	while(!file2.eof())
	{
		file2.getline(content2, sizeof(content2));
		printf(&quot;%i: &quot;, content2[0]);
		cout&lt;&lt;content2&lt;&lt;endl;
	}
	file2.close();

	cout&lt;&lt;&quot;----------Test3----------FILE/char&quot;&lt;&lt;endl;
	FILE *file3;
	char content3[256];
	file3=fopen(&quot;world.txt&quot;, &quot;r&quot;);
	while(!feof(file3))
	{
		fgets(content3, 256, file3);
		printf(&quot;%i: &quot;, content3[0]);
		cout&lt;&lt;content3&lt;&lt;endl;
	}
	fclose(file3);
}
</code></pre>
<pre><code class="language-cpp">----------Test1----------ifstream/string
0: 
78: NUMPOLLIES 2
0: 
47: // Test
45: -1.0 -1.0 0.0 0.0 0.0
----------Test2----------ifstream/char
0: 
78: NUMPOLLIES 2
0: 
47: // Test
45: -1.0 -1.0 0.0 0.0 0.0
----------Test3----------FILE/char
10: 

78: NUMPOLLIES 2

10: 

47: // Test

45: -1.0 -1.0 0.0 0.0 0.0
</code></pre>
<p>Wieso ergibt denn bei ifstream ein Zeilenumbruch 0 und bei FILE 10? Steckt da ein höherer Sinn hinter?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894203</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Sat, 08 May 2010 11:41:23 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Sat, 08 May 2010 13:09:48 GMT]]></title><description><![CDATA[<p>Aus eigener Erfahrung kann das auch am Compiler liegen. Hab selber mal ne Datei im Textmodus geöffnet und mein Auslesealgorithmus funktionierte nur wenn ich z.B. kein fstream::tellg() benutzt habe. War sehr seltsam, aber war tatsächlich so. Ging btw im binarymodus!<br />
Für C++ statt printf cout benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894234</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894234</guid><dc:creator><![CDATA[kingcools]]></dc:creator><pubDate>Sat, 08 May 2010 13:09:48 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Sat, 08 May 2010 13:20:20 GMT]]></title><description><![CDATA[<p>kingcools schrieb:</p>
<blockquote>
<p>Aus eigener Erfahrung kann das auch am Compiler liegen. Hab selber mal ne Datei im Textmodus geöffnet und mein Auslesealgorithmus funktionierte nur wenn ich z.B. kein fstream::tellg() benutzt habe. War sehr seltsam, aber war tatsächlich so. Ging btw im binarymodus!<br />
Für C++ statt printf cout benutzen.</p>
</blockquote>
<p>Wollte mit dem printf nur das erste Zeichen einer Zeile als Int ausgeben. Wie ist denn da der richtige Befehl in C++? Ansonsten verwende ich ja cout. Oder wie meintest du das jetzt? <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="🙂"
    /> Und wie ist der richtige Befehl um aus einem String bestimmt Daten als z.B. Int oder Float auszulesen? Z.B. will ich aus der Textzeile &quot;NUMPOLLIES 2\n&quot; nur die 2 Auslesen und das in eine Int Variable speichern. Der Text ist dabei immer derselbe, nur die Zahl kann sich halt ändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894238</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Sat, 08 May 2010 13:20:20 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Sat, 08 May 2010 16:40:49 GMT]]></title><description><![CDATA[<p>Ok, ich schon wieder... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /> Ich habe es jetzt soweit am laufen das er mir keine Kommentar und keine Leerzeilen ausgibt. Aber da ich es wohl häufiger in meinem Code brauchen werde das 1 Zeile ausgelesen werden soll ohne Kommentare und Leerzeilen wollte ich das ganze was ich zwischen die beiden Kommentare gesetzt habe in eine eigene Funktion packen. Leider komme ich da jetzt nicht weiter. Wie muss ich es denn der neuen Funktion, ich nenne sie mal &quot;ReadLine()&quot; die Infos übergeben um welchen fstream es sich denn handelt und in welchen String er das Ergebnis speichern soll?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;fstream&gt;
using namespace std;

int main()
{
	ifstream file;
	string content;
	file.open(&quot;world.txt&quot;, ios::in);
	while(!file.eof())
	{
		// Ab hier...
		do
		{
			getline(file, content);
		} while(!file.eof() &amp;&amp; (content[0]=='/' || content[0]=='\n'));
		// ...bis hier
		cout&lt;&lt;content&lt;&lt;endl;
	}
	file.close();
}
</code></pre>
<p>Ich hab's probiert, bitte nicht lachen, mit:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;fstream&gt;
using namespace std;

void ReadLine(ifstream *file, string *content)
{
	do
	{
		getline(file, content);
	} while(!file.eof() &amp;&amp; (content[0]=='/' || content[0]=='\n'));
}

int main()
{
	ifstream file;
	string content;
	file.open(&quot;world.txt&quot;, ios::in);
	while(!file.eof())
	{
		ReadLine(file, content);
		cout&lt;&lt;content&lt;&lt;endl;
	}
	file.close();
}
</code></pre>
<p>Aber da bekomme ich leider diese Fehler:<br />
line 10: error: no matching function for call to 'getline(std::ifstream*&amp;, std::string*&amp;)<br />
line 11: error: request for member 'eof' in 'file', which is of non-class type 'std::ifstream*<br />
line 11: error: no match for 'operator==' in '* content == '/'<br />
line 11: error: no match for 'operator==' in '* content == '\012'<br />
line 21: error: invalid conversion from 'void*' to 'std::ifstream*<br />
line 21: error: cannot convert 'std::string' to 'std::string*' for argument '2' to 'void ReadLine(std::ifstream*, std::string*)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894308</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894308</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Sat, 08 May 2010 16:40:49 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Sat, 08 May 2010 18:46:54 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">void ReadLine(ifstream &amp;file, string &amp;content)
{
    do
    {
        getline(file, content);
    } while(!file.eof() &amp;&amp; (content[0]=='/' || content[0]=='\n'));
}
</code></pre>
<p>Dir ist aber klar, dass am Ende content nur die letzte Zeile enthält? Du willst wahrscheinlich/vielleicht einen std::vector<a href="std::string" rel="nofollow">std::string</a>&amp; übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894364</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894364</guid><dc:creator><![CDATA[l&#x27;abra d&#x27;or]]></dc:creator><pubDate>Sat, 08 May 2010 18:46:54 GMT</pubDate></item><item><title><![CDATA[Reply to [gelöst] [Newbiefrage] NeHe Tutorial 10 - Eine 3D Welt laden und sich in ihr bewegen. on Sun, 09 May 2010 10:05:09 GMT]]></title><description><![CDATA[<p>Ne möchte nur eine Zeile haben. Danke für den Code. <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="🙂"
    /> Funktioniert auf anhieb. <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="😃"
    /></p>
<p>Womit ich leider dann doch bei meinem nächsten Problem wäre. Ich würde gerne die Textzeile in &quot;content&quot; filtern. In der Richtung:</p>
<p>sscanf(content, &quot;NUMPOLLIES %d\n&quot;, &amp;zahl);</p>
<p>DIe Textzeile in &quot;content&quot; ist aktuell &quot;NUMPOLLIES 2\n&quot; und ich hätte halt gerne die 2 als Int in meiner Variable zahl.</p>
<p>Aber sscanf funktioniert nur mit char und nicht mit string oder sehe ich das falsch? Gibt's eine Möglichkeit auch einen String in der Art zu durchsuchen und Werte in Variablen zu speichern?</p>
<p>[EDIT]<br />
So, hab's mir jetzt so gebastellt, gibt's da keinen schöneren Weg in C++?</p>
<p>sscanf(content.c_str(), &quot;NUMPOLLIES %d\n&quot;, &amp;zahl);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1894414</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1894414</guid><dc:creator><![CDATA[insanity]]></dc:creator><pubDate>Sun, 09 May 2010 10:05:09 GMT</pubDate></item></channel></rss>