<?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[Initialisierungsliste &#x2F; Textdatei schreiben, binär lesen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich (anfänger) kämpfe immer noch mit einem VC++ Programm herum und komme an folgenden Stellen nicht weiter:</p>
<p>1. Initialisierungsliste eines Constructors:</p>
<pre><code class="language-cpp">OutputWriter::OutputWriter(MemoryMap *flash, MemoryMap *eeprom,
	unsigned int pageSize, DataBuffer *key, DataBuffer&amp; initialVector,
	DataBuffer&amp; signature, bool updateLockBits, unsigned char lockBits,
	unsigned int memSize, int keyCount, bool createFlashCRC, bool eraseFlash,
	bool nonsenseRecords
	) :
	pageSizeM(pageSize),
</code></pre>
<p>Ich habe nur bis zum ersten Parameter pageSizeM den code gelistet. Es geht um das pageSizeM. Laut meinem Skript dient die Parameterliste dazu, Initialisierungswerte an Member-Objekten, oder Basisklassen durchzureichen.<br />
Es gibt aber im gesamten Programm kein pageSizeM-Objekt.<br />
Vielmehr ist pageSizeM eine Variable der Klasse Outputwriter mit der privat-Deklaration &quot;unsigned int pageSizeM;&quot;<br />
Frage: Was bewirkt also der Aufruf &quot;pageSizeM(pageSize)&quot; in der Parameterliste???</p>
<p>2. Textdatei schreiben, als Binärdatei lesen</p>
<p>Zunächst wird von einem Programm ein File erzeigt mit folgender Anweisung:</p>
<pre><code class="language-cpp">fprintf(outputFileM, &quot;%s&quot;, frameBufferM.toHexString());
</code></pre>
<p>Das erzeugte File kann man mit einem Texteditor öffnen und es werden auch nur ASCII-Zeichen von &quot;0&quot; ...&quot;9&quot; und &quot;A&quot; ... &quot;F&quot; angezeigt. keine sonderbaren anderen Zeichen. Es ist also ein Textfile.</p>
<p>Das zweite Programm greift auf die erzeugte Datei in folgender Form zu:</p>
<pre><code class="language-cpp">inFile = fopen(argv[0], &quot;rb&quot;);
...
// Read the whole file into the buffer
	while(fscanf(inFile, &quot;%2X&quot;, &amp;buffer[bufferSize]) == 1)
		bufferSize++;
</code></pre>
<p>Was ich nicht kapiere: Die Textdatei wird jetzt als BINÄR-Datei geöffnet und eingelesen!?!?! Wie funktioniert das? Das verstehe ich nicht.</p>
<p>Gruß</p>
<p>Wolfgang</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/178320/initialisierungsliste-textdatei-schreiben-binär-lesen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 20 Sep 2026 20:21:20 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/178320.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 10 Apr 2007 11:34:47 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Initialisierungsliste &#x2F; Textdatei schreiben, binär lesen on Tue, 10 Apr 2007 11:34:47 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich (anfänger) kämpfe immer noch mit einem VC++ Programm herum und komme an folgenden Stellen nicht weiter:</p>
<p>1. Initialisierungsliste eines Constructors:</p>
<pre><code class="language-cpp">OutputWriter::OutputWriter(MemoryMap *flash, MemoryMap *eeprom,
	unsigned int pageSize, DataBuffer *key, DataBuffer&amp; initialVector,
	DataBuffer&amp; signature, bool updateLockBits, unsigned char lockBits,
	unsigned int memSize, int keyCount, bool createFlashCRC, bool eraseFlash,
	bool nonsenseRecords
	) :
	pageSizeM(pageSize),
</code></pre>
<p>Ich habe nur bis zum ersten Parameter pageSizeM den code gelistet. Es geht um das pageSizeM. Laut meinem Skript dient die Parameterliste dazu, Initialisierungswerte an Member-Objekten, oder Basisklassen durchzureichen.<br />
Es gibt aber im gesamten Programm kein pageSizeM-Objekt.<br />
Vielmehr ist pageSizeM eine Variable der Klasse Outputwriter mit der privat-Deklaration &quot;unsigned int pageSizeM;&quot;<br />
Frage: Was bewirkt also der Aufruf &quot;pageSizeM(pageSize)&quot; in der Parameterliste???</p>
<p>2. Textdatei schreiben, als Binärdatei lesen</p>
<p>Zunächst wird von einem Programm ein File erzeigt mit folgender Anweisung:</p>
<pre><code class="language-cpp">fprintf(outputFileM, &quot;%s&quot;, frameBufferM.toHexString());
</code></pre>
<p>Das erzeugte File kann man mit einem Texteditor öffnen und es werden auch nur ASCII-Zeichen von &quot;0&quot; ...&quot;9&quot; und &quot;A&quot; ... &quot;F&quot; angezeigt. keine sonderbaren anderen Zeichen. Es ist also ein Textfile.</p>
<p>Das zweite Programm greift auf die erzeugte Datei in folgender Form zu:</p>
<pre><code class="language-cpp">inFile = fopen(argv[0], &quot;rb&quot;);
...
// Read the whole file into the buffer
	while(fscanf(inFile, &quot;%2X&quot;, &amp;buffer[bufferSize]) == 1)
		bufferSize++;
</code></pre>
<p>Was ich nicht kapiere: Die Textdatei wird jetzt als BINÄR-Datei geöffnet und eingelesen!?!?! Wie funktioniert das? Das verstehe ich nicht.</p>
<p>Gruß</p>
<p>Wolfgang</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262882</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262882</guid><dc:creator><![CDATA[Wolfgang Weinmann]]></dc:creator><pubDate>Tue, 10 Apr 2007 11:34:47 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierungsliste &#x2F; Textdatei schreiben, binär lesen on Tue, 10 Apr 2007 12:07:27 GMT]]></title><description><![CDATA[<p>1. Es wird damit der Konstruktor des pageSizeM-Objekts aufgerufen.<br />
2. Ob Binär oder Text ist eine reine Interpretationssache, letztlich stehen dahinter immer nur Nullen und Einsen <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/1262927</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262927</guid><dc:creator><![CDATA[connan]]></dc:creator><pubDate>Tue, 10 Apr 2007 12:07:27 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierungsliste &#x2F; Textdatei schreiben, binär lesen on Tue, 10 Apr 2007 12:37:47 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile-var-mode-is-viewprofile-and-u-is-9713.html" rel="nofollow">estartu</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-1.html" rel="nofollow">MFC (Visual C++)</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum-var-f-is-15.html" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-39405.html" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262953</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262953</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Tue, 10 Apr 2007 12:37:47 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierungsliste &#x2F; Textdatei schreiben, binär lesen on Tue, 10 Apr 2007 12:42:27 GMT]]></title><description><![CDATA[<p>connan schrieb:</p>
<blockquote>
<p>1. Es wird damit der Konstruktor des pageSizeM-Objekts aufgerufen.<br />
2. Ob Binär oder Text ist eine reine Interpretationssache, letztlich stehen dahinter immer nur Nullen und Einsen <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>
</blockquote>
<p>zu 1.: das hätte ich ja auch erwartet, aber ich finde im ganzen Projekt keine pageSizeM-Objekt-Deklaration!!!</p>
<p>zu 2: So einfach ist es doch auch nicht <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> : Wenn das File als ASCII-Datei vorhanden ist, dann ist z.B. der Wert 255 dezimal als zwei &quot;F&quot;&quot;F&quot;-ASCII-Zeichen abgelegt. Wenn ich die Datei dann als Binärdatei bei fopen angebe, dann lese ich den ASCII-Code als binären Wert ein und komme aber nie mehr auf 255 dezimal.</p>
<p>Gruß</p>
<p>Wolfgang</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262955</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262955</guid><dc:creator><![CDATA[Wolfgang Weinmann]]></dc:creator><pubDate>Tue, 10 Apr 2007 12:42:27 GMT</pubDate></item><item><title><![CDATA[Reply to Initialisierungsliste &#x2F; Textdatei schreiben, binär lesen on Tue, 10 Apr 2007 12:46:03 GMT]]></title><description><![CDATA[<p>Wolfgang Weinmann schrieb:</p>
<blockquote>
<p>Vielmehr ist pageSizeM eine Variable der Klasse Outputwriter mit der privat-Deklaration &quot;unsigned int pageSizeM;&quot;<br />
Frage: Was bewirkt also der Aufruf &quot;pageSizeM(pageSize)&quot; in der Parameterliste???</p>
</blockquote>
<p>Es initialisiert genau dieses 'unsigned int pageSizeM;' des Objektes, das mit dem Ctor-Aufruf erzeugt werden soll.</p>
<blockquote>
<p>Was ich nicht kapiere: Die Textdatei wird jetzt als BINÄR-Datei geöffnet und eingelesen!?!?! Wie funktioniert das? Das verstehe ich nicht.</p>
</blockquote>
<p>Der Unterschied zwischen &quot;Textmodus&quot; und &quot;Binärmodus&quot; ist lediglich eine Sonderbehandlung einige Zeichen (genauer: des \n) - wenn du die Datei im Textmodus geöffnet hast, wird das \n als \r\n geschrieben (zumindest unter Windows). Wie du die eigentlichen Daten interpretierst, hängt von der verwendeten Lesefunktion ab - fscanf() bzw. istream::op&gt;&gt; liest als Text fread() bzw. istream::read() liest binär.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1262957</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1262957</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 10 Apr 2007 12:46:03 GMT</pubDate></item></channel></rss>