<?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[File nach buffer schreiben]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte einen File in einen Buffer schreiben.</p>
<pre><code class="language-cpp">char buffer[4096];
     HANDLE filehandle;
     filehandle = CreateFile(&quot;lcd_test.bin&quot;, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,       FILE_ATTRIBUTE_NORMAL, NULL);
     if(filehandle == INVALID_HANDLE_VALUE)
     {
         Application-&gt;MessageBox(&quot;FILE NOT FOUND&quot;,&quot; &quot;,MB_OK | MB_ICONERROR);
     }
     else
     {
         DWORD dwFileSize;
         dwFileSize = GetFileSize(filehandle, NULL);
         DWORD dwFileRead;
          if(!ReadFile(filehandle, buffer, dwFileSize, &amp;dwFileRead, NULL))
          {
               Application-&gt;MessageBox(&quot;READ ERROR&quot;,&quot; &quot;,MB_OK | MB_ICONERROR);
          }
          else
          {
               Application-&gt;MessageBox(&quot;OK&quot;,&quot; &quot;,MB_OK | MB_ICONERROR);
          }
     }
</code></pre>
<p>Ich habe nun aber keinen Speicher allociert, ?muss ich das?, es funkt auch<br />
so. Und wenn ja wie allociert man Speicher?<br />
Und wozu dient dwFileRead?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/81842/file-nach-buffer-schreiben</link><generator>RSS for Node</generator><lastBuildDate>Wed, 01 Jul 2026 01:57:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/81842.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 04 Aug 2004 20:28:26 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to File nach buffer schreiben on Wed, 04 Aug 2004 20:28:26 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte einen File in einen Buffer schreiben.</p>
<pre><code class="language-cpp">char buffer[4096];
     HANDLE filehandle;
     filehandle = CreateFile(&quot;lcd_test.bin&quot;, GENERIC_READ, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING,       FILE_ATTRIBUTE_NORMAL, NULL);
     if(filehandle == INVALID_HANDLE_VALUE)
     {
         Application-&gt;MessageBox(&quot;FILE NOT FOUND&quot;,&quot; &quot;,MB_OK | MB_ICONERROR);
     }
     else
     {
         DWORD dwFileSize;
         dwFileSize = GetFileSize(filehandle, NULL);
         DWORD dwFileRead;
          if(!ReadFile(filehandle, buffer, dwFileSize, &amp;dwFileRead, NULL))
          {
               Application-&gt;MessageBox(&quot;READ ERROR&quot;,&quot; &quot;,MB_OK | MB_ICONERROR);
          }
          else
          {
               Application-&gt;MessageBox(&quot;OK&quot;,&quot; &quot;,MB_OK | MB_ICONERROR);
          }
     }
</code></pre>
<p>Ich habe nun aber keinen Speicher allociert, ?muss ich das?, es funkt auch<br />
so. Und wenn ja wie allociert man Speicher?<br />
Und wozu dient dwFileRead?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/575483</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/575483</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Wed, 04 Aug 2004 20:28:26 GMT</pubDate></item><item><title><![CDATA[Reply to File nach buffer schreiben on Wed, 04 Aug 2004 20:52:37 GMT]]></title><description><![CDATA[<p>hermes schrieb:</p>
<blockquote>
<p>Ich habe nun aber keinen Speicher allociert</p>
</blockquote>
<p>hast du wohl:</p>
<pre><code class="language-cpp">char buffer[4096];
</code></pre>
<p>du hast Speicherplatz auf dem Stack für 4096 Zeichen reserviert.</p>
<blockquote>
<p>es funkt auch so</p>
</blockquote>
<p>weil deine Testdatei weinige als 4096 Zeichen enthält.</p>
<p>besser:</p>
<pre><code class="language-cpp">int dwFileSize = GetFileSize(filehandle, NULL);
         char* buffer =new char[dwFileSize];
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/575495</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/575495</guid><dc:creator><![CDATA[AndreasW]]></dc:creator><pubDate>Wed, 04 Aug 2004 20:52:37 GMT</pubDate></item><item><title><![CDATA[Reply to File nach buffer schreiben on Wed, 04 Aug 2004 21:21:45 GMT]]></title><description><![CDATA[<p>[quote=&quot;AndreasW&quot;]</p>
<p>hermes schrieb:</p>
<blockquote>
<p>du hast Speicherplatz auf dem Stack für 4096 Zeichen reserviert.</p>
</blockquote>
<p>Danke für den Hinweis.</p>
<p>Liegt der Speicher deswegen im Stack weil dem Programm beim Start automatisch 4096 Byte für den Stack zugewiesen wird und das ist halt dann der zur verfügung stehende Speicher.</p>
<p>Muss ich den Speicher vor beenden des Programms wieder freigeben oder<br />
geschieht dies automatisch?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/575506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/575506</guid><dc:creator><![CDATA[hermes]]></dc:creator><pubDate>Wed, 04 Aug 2004 21:21:45 GMT</pubDate></item><item><title><![CDATA[Reply to File nach buffer schreiben on Fri, 06 Aug 2004 14:48:02 GMT]]></title><description><![CDATA[<p>hermes schrieb:</p>
<blockquote>
<p>Muss ich den Speicher vor beenden des Programms wieder freigeben oder geschieht dies automatisch?</p>
</blockquote>
<p>Hi,<br />
wenn du</p>
<pre><code class="language-cpp">char buffer[CONST];
</code></pre>
<p>schreibst wird der Speicher automatisch wieder freigegeben...<br />
Bei:</p>
<pre><code class="language-cpp">char *buffer = new char[VAR];
</code></pre>
<p>musst du den Speicher wenn er nicht mehr benötigt wird mit</p>
<pre><code class="language-cpp">delete[] buffer;
</code></pre>
<p>wieder freigeben...</p>
<p>Regel: Bei allen Klassen (außer den VCL Klassen mit Owner != NULL) mussen immer genau so viele deletes wie news da sein!</p>
<p>MfG</p>
<p>Alexander Sulfrian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/575518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/575518</guid><dc:creator><![CDATA[Alexander Sulfrian]]></dc:creator><pubDate>Fri, 06 Aug 2004 14:48:02 GMT</pubDate></item><item><title><![CDATA[Reply to File nach buffer schreiben on Fri, 06 Aug 2004 09:33:12 GMT]]></title><description><![CDATA[<p>Ein Hinweis.</p>
<p>In diesem Fall hätte die Freigabe mit</p>
<pre><code class="language-cpp">delete[] buffer;
</code></pre>
<p>zu erfolgen.</p>
<p>Ciao</p>
]]></description><link>https://www.c-plusplus.net/forum/post/576563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/576563</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Fri, 06 Aug 2004 09:33:12 GMT</pubDate></item><item><title><![CDATA[Reply to File nach buffer schreiben on Fri, 06 Aug 2004 14:46:38 GMT]]></title><description><![CDATA[<p>Hi,<br />
stimmt natürlich.... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /><br />
Ich sollte so spät nicht mehr versuchen zu proggen....</p>
<p>MfG</p>
<p>Alexander Sulfrian</p>
]]></description><link>https://www.c-plusplus.net/forum/post/576907</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/576907</guid><dc:creator><![CDATA[Alexander Sulfrian]]></dc:creator><pubDate>Fri, 06 Aug 2004 14:46:38 GMT</pubDate></item></channel></rss>