<?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[Datein einlesen...]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bin neu hier, und muß gleich zu Beginn mit einer Frage nerven.</p>
<p>Ich versuche gerade Heightmaps für ein mit OpenGL generiertes Terran einzulesen.</p>
<p>Ich habe es mit dem File Pointer probiert, wo ich bis auf Schwierigkeiten mit cout geschafft habe.</p>
<p>Ein paar Leute meinten aber dass da C++ die neuere Methode ist, mit diesem hatte ich aber so meine Probleme, und hätte da einiges an Fragen.</p>
<pre><code class="language-cpp">fstream file;
string zeile;

file.open(&quot;heightmap.bmp&quot;, fstream::in | fstream::binary);

while(getline(file, zeile))
{
    cout &lt;&lt; getline(file, zeile) &lt;&lt; endl;
}
file.close();
</code></pre>
<p>Leider gibt das Programm dann nur viele Zeilen mit Speicheradressen aus. Ist vermutlich ganz logisch, aber ich weiß einfach noch nicht so genau wie man mit den fstreams um geht.</p>
<p>Desweiteren wäre noch interessant ob es wirklich die bessere Wahl ist mit fstreams zu arbeiten, oder ob es andere Möglichkeiten gibt??</p>
<p>lg und danke für eventuelle Infos<br />
Darian</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/199956/datein-einlesen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 01:10:32 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/199956.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 08 Dec 2007 22:00:52 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datein einlesen... on Sat, 08 Dec 2007 22:00:52 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>ich bin neu hier, und muß gleich zu Beginn mit einer Frage nerven.</p>
<p>Ich versuche gerade Heightmaps für ein mit OpenGL generiertes Terran einzulesen.</p>
<p>Ich habe es mit dem File Pointer probiert, wo ich bis auf Schwierigkeiten mit cout geschafft habe.</p>
<p>Ein paar Leute meinten aber dass da C++ die neuere Methode ist, mit diesem hatte ich aber so meine Probleme, und hätte da einiges an Fragen.</p>
<pre><code class="language-cpp">fstream file;
string zeile;

file.open(&quot;heightmap.bmp&quot;, fstream::in | fstream::binary);

while(getline(file, zeile))
{
    cout &lt;&lt; getline(file, zeile) &lt;&lt; endl;
}
file.close();
</code></pre>
<p>Leider gibt das Programm dann nur viele Zeilen mit Speicheradressen aus. Ist vermutlich ganz logisch, aber ich weiß einfach noch nicht so genau wie man mit den fstreams um geht.</p>
<p>Desweiteren wäre noch interessant ob es wirklich die bessere Wahl ist mit fstreams zu arbeiten, oder ob es andere Möglichkeiten gibt??</p>
<p>lg und danke für eventuelle Infos<br />
Darian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1417330</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1417330</guid><dc:creator><![CDATA[Darian]]></dc:creator><pubDate>Sat, 08 Dec 2007 22:00:52 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Sun, 09 Dec 2007 10:11:14 GMT]]></title><description><![CDATA[<p>Servus, ich bin mir jetzt auch nicht sicher ob das stimmt aber probiers mal anstatt<br />
cout mit file. Da du ja sagst das du mit (fstream::in) einlesen willst musst du file zum lesen hernehmen.</p>
<p>fstream file;<br />
string zeile;</p>
<p>file.open(&quot;heightmap.bmp&quot;, fstream::in | fstream::binary);</p>
<p>while(getline(file, zeile))<br />
{<br />
file &lt;&lt; getline(file, zeile) &lt;&lt; endl; // Hier die Änderung<br />
}<br />
file.close();</p>
<p>du kannst am Anfang gleich anstatt</p>
<p>fstream file;<br />
file.open(&quot;heightmap.bmp&quot;, fstream::in|fstream::binary);</p>
<p>so schreiben</p>
<p>ifstream file;<br />
file.open(&quot;heightmap.bmp&quot;, fstream::binary);</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1417440</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1417440</guid><dc:creator><![CDATA[AJA]]></dc:creator><pubDate>Sun, 09 Dec 2007 10:11:14 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Sun, 09 Dec 2007 11:02:00 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::ifstream file_stream(&quot;heightmap.bmp&quot;, std::ios::binary);

if (!file_stream) { std::cerr &lt;&lt; &quot;FEHLER: Datei \&quot;heightmap.bmp\&quot; konnte nicht geöffnet werden!&quot; &lt;&lt; std::endl; return false; }
</code></pre>
<p>... so willst du die Datei öffnen <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 jetzt musst du dir mal das BMP-Format angucken.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1417469</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1417469</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 09 Dec 2007 11:02:00 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Sun, 09 Dec 2007 12:12:46 GMT]]></title><description><![CDATA[<p>Hallo Leute, danke für die Infos, bin schon am werkeln und mir auch das Bitmap Format genauer am ansehen.</p>
<p>Na ja, ich würde dann ja das File in das selbe File rein speichern wenn ich es mit file &lt;&lt; getline...usw weiter mache.</p>
<p>Ich möchte es ja vorerst einmal gerne am Bildschirm ausgeben. (bekomme jedenfalls einige Fehler komische Fehler beim kompilieren)</p>
<p>Wo ist der Unterschied ob ich jetzt fstream::in oder ios:in benutzte.</p>
<p>Das std:: brauche ich nicht weil ich using namespace std benutze.</p>
<p>Jedenfalls einmal danke für die Hilfe<br />
Darian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1417504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1417504</guid><dc:creator><![CDATA[Darian]]></dc:creator><pubDate>Sun, 09 Dec 2007 12:12:46 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Sun, 09 Dec 2007 12:27:09 GMT]]></title><description><![CDATA[<p>hmm guck dir mal die Vererbungstabelle hier an: <a href="http://www.cplusplus.com/reference/" rel="nofollow">http://www.cplusplus.com/reference/</a> dann such dir einfach mal das niedrigste Elemente aus, bei das Flag definiert ist.</p>
<blockquote>
<p>Das std:: brauche ich nicht weil ich using namespace std benutze.</p>
</blockquote>
<p>Hmm schon richtig. using namespace ist ja auch meiner Ansicht nach vollkommen fehl am platze ist. Ist ja pure Faulheit.</p>
<blockquote>
<p>Na ja, ich würde dann ja das File in das selbe File rein speichern wenn ich es mit file &lt;&lt; getline...usw weiter mache.</p>
</blockquote>
<p>Was willst du uns sagen?</p>
<p>Aja std::getline und das Flag std::ios::binary ... nicht so sonderlich sinnig, was meinst du?</p>
<p>Aja einmal ausgeben was in der Datei steht?</p>
<pre><code class="language-cpp">std::ifstream file_stream(&quot;heightmap.bmp&quot;);
std::copy(std::istream_iterator&lt;char&gt;(file_stream), std::istream_iterator&lt;char&gt;(), std::back_inserter(std::cout));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1417511</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1417511</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 09 Dec 2007 12:27:09 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Sun, 09 Dec 2007 13:09:31 GMT]]></title><description><![CDATA[<p>Binärdaten solltest du nicht mit getline(...) lesen, da sie ja keine Zeilenumbruch-Zeichen enthalten.<br />
Dafür gibt es die Methode read(...).</p>
<p>P.S. Für Textdateien sähe deine Einlese-Schleife so aus:</p>
<pre><code class="language-cpp">while(getline(file, zeile))
{
    cout &lt;&lt; zeile &lt;&lt; endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1417540</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1417540</guid><dc:creator><![CDATA[Th]]></dc:creator><pubDate>Sun, 09 Dec 2007 13:09:31 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Sun, 09 Dec 2007 13:34:55 GMT]]></title><description><![CDATA[<blockquote>
<p>Hmm schon richtig. using namespace ist ja auch meiner Ansicht nach vollkommen fehl am platze ist. Ist ja pure Faulheit.</p>
</blockquote>
<p>Na ja, soweit ich weiß hat es keine Nachteile, es wird nichts langsamer oder schlechter, darum ist da Faulheit ja auch nicht Fehl am Platz <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>
<blockquote>
<p>Na ja, ich würde dann ja das File in das selbe File rein speichern wenn ich es mit file &lt;&lt; getline...usw weiter mache.</p>
</blockquote>
<p>Was willst du uns sagen?</p>
</blockquote>
<p>Gute Frage <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="🙂"
    /> Weil AJA meinte ich kann es mit file &lt;&lt; getline(file, zeile) &lt;&lt; endl; ausgeben, und das ist mir nicht klar. Weil so würde man es ja in file rein schreiben was getline ausgibt?</p>
<blockquote>
<p>Aja std::getline und das Flag std::ios::binary ... nicht so sonderlich sinnig, was meinst du?</p>
</blockquote>
<p>Ist möglich ja, ich weiß es nicht, ich dachte dabei weil es eine binary ist, schreiben wir das ios::binary dazu, und weil ich jede Zeile nach der Reihe ausgeben will, mit getline. (bei einem kleinen ToDo Listen Programm dass ich einmal geschrieben habe, hat es so funktioniert)</p>
<p>Nur jetzt beim einlesen von den pixeldaten in einen zwei dimensionalen Array will es nicht gehen.</p>
<p>Bezüglich</p>
<pre><code class="language-cpp">std::copy(std::istream_iterator&lt;char&gt;(file_stream), std::istream_iterator&lt;char&gt;(), std::back_inserter(std::cout));
</code></pre>
<p>Hm? Wieso mit copy ausgeben?<br />
Diese Zeile ist mir leider gar nicht klar.</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/9348">@th</a>, ok, das mit read werde ich mir einmal ansehen...</p>
<p>lg und danke für die Infos<br />
Darian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1417554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1417554</guid><dc:creator><![CDATA[Darian]]></dc:creator><pubDate>Sun, 09 Dec 2007 13:34:55 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Sun, 09 Dec 2007 13:43:57 GMT]]></title><description><![CDATA[<p>mit dem std::copy wollte devil nur mal wieder angeben, was er tolles weiß.<br />
aber eigentlich ist das ausgeben eines bildes als text sowieso quatsch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1417557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1417557</guid><dc:creator><![CDATA[hinweis]]></dc:creator><pubDate>Sun, 09 Dec 2007 13:43:57 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Sun, 09 Dec 2007 13:50:06 GMT]]></title><description><![CDATA[<p>Ja vermutlich, aber ich wollte es ja gar nicht ausgeben, ich will es grundsätzlich in einen zwei Dimensionalen Array speichern, damit ich es später dann zum weiterarbeiten benutzen kann. (Terran mit OpenGL aus Highmap)<br />
Brauche also nur die Pixelwerte die von 0-255 gehen müßten.</p>
<p>lg Darian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1417561</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1417561</guid><dc:creator><![CDATA[Darian]]></dc:creator><pubDate>Sun, 09 Dec 2007 13:50:06 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Sun, 09 Dec 2007 15:02:44 GMT]]></title><description><![CDATA[<p>aja ist klar ihr beiden ganz schlauen.<br />
@Hinweis:</p>
<p>Darian schrieb:</p>
<blockquote>
<p>Ich möchte es ja vorerst einmal gerne am Bildschirm ausgeben. (bekomme jedenfalls einige Fehler komische Fehler beim kompilieren)</p>
</blockquote>
<p>... ?<br />
<a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/16995">@Darian</a>:</p>
<blockquote>
<p>Hm? Wieso mit copy ausgeben?<br />
Diese Zeile ist mir leider gar nicht klar.</p>
</blockquote>
<p>Hmm ... es werden alle Zeichen der Datei in den Ausgabe-Stream std::cout kopiert ...</p>
<p>Naja mal eure Sinnvollen &amp; Geistreichen Bemerkungen (s. &quot;hinweis&quot;) außer acht lassen. Hast du denn die Breite &amp; Höhe der Heightmap? Ja, steht im BitmapHeader ... Wenn du dich folglich mit dem BMP-Format mal auseinander gesetzt hast, wirst du feststellen, das die Daten, die du haben willst, nicht direkt am Anfang der Datei stehen ... den Datenblock kannst du, wenn du es ganz primitiv machen willst, mit 2 verschachtelten for-Schleifen und der get-Funktion eines std::istreams realisieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1417612</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1417612</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 09 Dec 2007 15:02:44 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Sun, 09 Dec 2007 15:06:45 GMT]]></title><description><![CDATA[<p>der erste post von devil war gut, aber das mit std::copy zur ausgabe ist hier sinnlos, wie gesagt angeben...</p>
<p>Und jetzt schau dir endlich mal das bmp format an und versuch es zu verstehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1417621</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1417621</guid><dc:creator><![CDATA[hinweis]]></dc:creator><pubDate>Sun, 09 Dec 2007 15:06:45 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Sun, 09 Dec 2007 19:20:48 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ja das habe ich mir schon angeschaut, und bin demnach gerade dabei die Auflösung aus zu lesen.</p>
<p>Damit wir einmal konkret werden, sende ich hier einfach mal den einfachen Code, bin wie ihr gemerkt habt noch neu auf dem Gebiet.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
//#include &lt;string&gt;
#include &lt;fstream&gt;

using namespace std;

int main ()
{
  int length;
  char * buffer;

  ifstream heightmap;
  heightmap.open (&quot;heightmap.bmp&quot;, ios::binary );

  if(!heightmap)
  {
	cerr &lt;&lt; &quot;FEHLER: Datei \&quot;heightmap.bmp\&quot; konnte nicht geöffnet werden!&quot; &lt;&lt; endl;
	return -1;
  }

  // get length of file:
  heightmap.seekg (0, ios::end);
  length = heightmap.tellg();
  heightmap.seekg (0, ios::beg);

  // allocate memory:
  buffer = new char [length];

  // read data as a block:
  heightmap.read (buffer,length);
  heightmap.close();

  cout.write (buffer,length);
  delete buffer;

  return 0;
}
</code></pre>
<p>Für die breite muß ich einfach 18 Byte nach vorne kommen, weiß noch nicht wie, und in lesbaren Zahlen das auslesen, das selbe für die anderen Informationen.</p>
<p>Arbeite unter Linux, und bin wie gesagt noch Neuling bei dem ganzen.</p>
<p>lg<br />
Darian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1417777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1417777</guid><dc:creator><![CDATA[Darian]]></dc:creator><pubDate>Sun, 09 Dec 2007 19:20:48 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Sun, 09 Dec 2007 19:25:46 GMT]]></title><description><![CDATA[<p>seekg zum vorschieben ... ehm und dann einfach my_file.read(reinterpret_cast&lt;char*&gt;(&amp;my_integer), sizeof(int)); bsw. um einen Integer auszulesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1417780</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1417780</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Sun, 09 Dec 2007 19:25:46 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Mon, 10 Dec 2007 13:05:42 GMT]]></title><description><![CDATA[<p>Eigentlich habe ich schon einen fetten Text geantwortet, abe keine Ahnung wo der jetzt hin ist.</p>
<p>Also heightmap.seekg (18, ios::beg); =&gt; zum 18 Byte nach vorne schieben (konnte ich jetzt noch nicht testen)</p>
<p>Und das nächste ist mir nicht klar. sizeof(int). Int hat ja normalerweise 32 Byte, aber wenn ich &quot;cout &lt;&lt; sizeof(int);&quot; schreibe, gibt es genau 4 aus...? (von dem her wäre es ok, weil die Breite laut Wiki mit 4 Bytes gespeichert ist)</p>
<p>Und bitte noch um einer genauer Erklärung für das:<br />
reinterpret_cast&lt;char*&gt;(&amp;length)</p>
<p>Ist mir eher weniger, bis gar nicht klar <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>lg<br />
Darian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418097</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418097</guid><dc:creator><![CDATA[Darian]]></dc:creator><pubDate>Mon, 10 Dec 2007 13:05:42 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Mon, 10 Dec 2007 19:17:46 GMT]]></title><description><![CDATA[<p>Darian schrieb:</p>
<blockquote>
<p>Und das nächste ist mir nicht klar. sizeof(int). Int hat ja normalerweise 32 Byte, aber wenn ich &quot;cout &lt;&lt; sizeof(int);&quot; schreibe, gibt es genau 4 aus...?</p>
</blockquote>
<p>Wenn dann 32 Bit</p>
<blockquote>
<p>Und bitte noch um einer genauer Erklärung für das:<br />
reinterpret_cast&lt;char*&gt;(&amp;length)</p>
</blockquote>
<p>read will nen char* wo die daten hingeschrieben werden sollen. du nimmst die adresse wo dein length im speicher liegt und tust so, als ob diese 4 bytes, auf die die adresse, zeigt ein char* wären, indem du castest. ist aber ein bisschen gefährlich, weil int nicht immer 4 bytes sein müssen, aber auf den meisten 32 bit systemen sind es 4, auf 64 bit system sind es wahrscheinlich 8. also nimm lieber nen anderen datentyp der immer 4 byte groß ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418357</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418357</guid><dc:creator><![CDATA[hinweis]]></dc:creator><pubDate>Mon, 10 Dec 2007 19:17:46 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Mon, 10 Dec 2007 19:44:10 GMT]]></title><description><![CDATA[<p>Ah ja stimmt, das mit dem Bit und Byte habe ich da jetzt ein bisschen durcheinander gebracht.</p>
<p>Das mit dem reinterpret_cast ist mir jetzt klar, ich Frage mich nur ob einfach so zu casten so eine gute Idee ist, ist es egal wenn man sowas macht?</p>
<p>Ich kriege nur eine große negative Zahl zurück.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;

using namespace std;

int main ()
{

	char * buffer;
	int breite;
	int hoehe;

	ifstream heightmap;

	heightmap.open (&quot;heightmap.bmp&quot;, ios::binary );

	if(!heightmap)
	{
		cerr &lt;&lt; &quot;FEHLER: Datei \&quot;heightmap.bmp\&quot; konnte nicht geöffnet werden!&quot; &lt;&lt; endl;
		return -1;
	}

  //vorschieben zum breiten Bereich
	heightmap.seekg (18, ios::beg);

	//Auslesen und schliessen aus dem Str
  heightmap.read(reinterpret_cast&lt;char*&gt;(breite), sizeof(int));
  heightmap.close();

	//Ausgabe der Breite
	cout &lt;&lt; breite &lt;&lt; endl;

	return 0;
}
</code></pre>
<p>Was stimmt da jetzt wieder nicht, bitte um konkrete Infos, wäre super wenn mir da verständlich jemand weiter helfen könnte.</p>
<p>lg Darian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418387</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418387</guid><dc:creator><![CDATA[Darian]]></dc:creator><pubDate>Mon, 10 Dec 2007 19:44:10 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Mon, 10 Dec 2007 22:43:26 GMT]]></title><description><![CDATA[<p>Du mußt den Zeiger auf die int-Variable casten und nicht die Variable selbst.</p>
<pre><code class="language-cpp">heightmap.read(reinterpret_cast&lt;char*&gt;(&amp;breite), sizeof(breite));
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1418466</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418466</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Mon, 10 Dec 2007 22:43:26 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Tue, 11 Dec 2007 00:30:23 GMT]]></title><description><![CDATA[<p>Mah stimmt, so ist es richtig, jetzt hat es funktioniert, und sogar die richtige Breite wurde ausgegeben.</p>
<p>Nachdem das jetzt passt, kann ich mal gemütlich versuchen das alles dementsprechend zu verarbeiten. Jetzt wo ich die Basics habe.</p>
<p>lg und danke für diesen Tipp, habe ich wohl übersehen<br />
Darian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418486</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418486</guid><dc:creator><![CDATA[Darian]]></dc:creator><pubDate>Tue, 11 Dec 2007 00:30:23 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Tue, 11 Dec 2007 13:03:18 GMT]]></title><description><![CDATA[<p>Habe jetzt einmal den Header eingelesen, und stehe jetzt bei dem auslesen der ersten Pixel, da scheint es irgendwie wieder weniger zusammen zu passen.</p>
<p>Muß ich jetzt ersteinmal die Farbpalette in einen Array laden?</p>
<p>Hier er Code:<br />
<a href="http://nopaste.info/94d173b2b5.html" rel="nofollow">http://nopaste.info/94d173b2b5.html</a></p>
<p>Wäre super wenn ich noch ein paar Infos kriege.<br />
Ach ja, hätte ich den Header auch irgendwie mit einer Schleife laden können, anstatt alles manuell aus zu schreiben?? (mir ist da irgendwie nichts eingefallen!)</p>
<p>lg<br />
Darian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418724</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418724</guid><dc:creator><![CDATA[Darian]]></dc:creator><pubDate>Tue, 11 Dec 2007 13:03:18 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Tue, 11 Dec 2007 13:06:30 GMT]]></title><description><![CDATA[<p>Darian schrieb:</p>
<blockquote>
<p>Habe jetzt einmal den Header eingelesen, und stehe jetzt bei dem auslesen der ersten Pixel, da scheint es irgendwie wieder weniger zusammen zu passen.</p>
<p>Muß ich jetzt ersteinmal die Farbpalette in einen Array laden?</p>
</blockquote>
<p>Wenn das Bild eine Farbepalette hat, vermutlich ja. Andernfalls kann es sein, daß zwischen Header und Bilddaten noch Müll steht - im Header steht auch drin, wo die Nutzdaten beginnen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418726</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418726</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 11 Dec 2007 13:06:30 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Tue, 11 Dec 2007 19:22:00 GMT]]></title><description><![CDATA[<blockquote>
<p>Ach ja, hätte ich den Header auch irgendwie mit einer Schleife laden können, anstatt alles manuell aus zu schreiben?? (mir ist da irgendwie nichts eingefallen!)</p>
</blockquote>
<p>hättest auch ne struct machen können die genau die selben variablen mit selber größe hat und da alles auf einmal reinkopieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1418999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1418999</guid><dc:creator><![CDATA[rülps]]></dc:creator><pubDate>Tue, 11 Dec 2007 19:22:00 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Tue, 11 Dec 2007 19:31:37 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ja habe ich sogar, aber wie hätte ich das aufeinmal rüber kopieren können?</p>
<pre><code class="language-cpp">struct Bitmap_Header
 {
     // BITMAPFILEHEADER
     word bfType;
     dword bfSize;
     dword bfReserved;
     dword bfOffBits;

     //BITMAPINFOHEADER
     dword biSize;
     long biWidth;
     long biHeight;
     word biPlanes;
     word biBitCount;
     dword biCompression;
     dword biSizeImage;
     long biXPelsPerMeter;
     long biYPelsPerMeter;
     dword biClrUsed;
     dword biClrImportant;
 };
</code></pre>
<p>Wäre interessant, damit ich es das nächste mal brauchbarer mache, und es nicht wieder soviel Arbeit für mich ist.</p>
<p>lg Darian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419007</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419007</guid><dc:creator><![CDATA[Darian]]></dc:creator><pubDate>Tue, 11 Dec 2007 19:31:37 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Tue, 11 Dec 2007 20:38:18 GMT]]></title><description><![CDATA[<p>na, so wie du breite und höhe eingelesen hast nur mit struct adresse und sizeof Bitmap_Header</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419046</guid><dc:creator><![CDATA[rülps]]></dc:creator><pubDate>Tue, 11 Dec 2007 20:38:18 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Tue, 11 Dec 2007 21:10:43 GMT]]></title><description><![CDATA[<p>Hallo, habe das jetzt probiert, gibt dann aber nicht das richtig aus!</p>
<p>Meinst du so:</p>
<p>heightmap.seekg(0, ios::beg);<br />
heightmap.read(reinterpret_cast&lt;char*&gt;(&amp;header), sizeof(Bitmap_Header));</p>
<p>Stimmt das so??</p>
<p>Na ja, das wäre doch sehr interessant für mich für die Zukunft, also bitte noch um die nötigen Infos für das praktische einlesen.</p>
<p>lg Darian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419058</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419058</guid><dc:creator><![CDATA[Darian]]></dc:creator><pubDate>Tue, 11 Dec 2007 21:10:43 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Tue, 11 Dec 2007 21:15:56 GMT]]></title><description><![CDATA[<p>Wenn die struct aus PODs besteht, kannst du durch:</p>
<pre><code class="language-cpp">file_stream.read(reinterpret_cast&lt;char*&gt;(&amp;my_struct), sizeof(my_struct));
</code></pre>
<p>die Daten einlesen, jap. Ehm dabei musst du aber einiges beachten. Das zu erklären, überlasse ich anderen, weil ich jetzt in die Haia gehe :xmas1:</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419062</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419062</guid><dc:creator><![CDATA[*D*Evil]]></dc:creator><pubDate>Tue, 11 Dec 2007 21:15:56 GMT</pubDate></item><item><title><![CDATA[Reply to Datein einlesen... on Tue, 11 Dec 2007 21:22:05 GMT]]></title><description><![CDATA[<p>Na ja, habe ich eh so gemacht, oder meinst du es anders?</p>
<p>Aber es werden wenn ich zum Beispiel die Höhe Ausgeben will, nur komische zahlen ausgegeben, aber nicht die, die es sein sollten.</p>
<p>Wäre echt super wenn mir das noch jemand erklären könnte.</p>
<p>lg Darian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1419065</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1419065</guid><dc:creator><![CDATA[Darian]]></dc:creator><pubDate>Tue, 11 Dec 2007 21:22:05 GMT</pubDate></item></channel></rss>