<?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[Dialog&#x2F;BUFFER]]></title><description><![CDATA[<p>Habe mir Dialogabasierend ein Programm geschrieben indem ich Dateien nach einem vorgegebenen String durchsuchen möchte.</p>
<p>Den Inhalt einer Datei soll Blockweise (BUFFER 8000) in einen BUFFER eingelesen werden.<br />
In der For-Schleife schmiert das ganze dann aber ab.Folgende Nachricht taucht dan auf:<br />
Unhandled exception in Finder.exe</p>
<p>Woran liegt das???<br />
Danke für Eure Hilfe!!!!</p>
<p>Im Header:</p>
<p>#define MAX_GRABBER_BUFFER 8000</p>
<p>Protected:<br />
unsigned char chBuf[MAX_GRABBER_BUFFER];</p>
<p>void CFinderDlg::ScanFile()<br />
{<br />
FILE* fpFile = NULL;<br />
int nObjectsRead = 0;<br />
BOOL bEOF = FALSE;</p>
<p>fpFile = fopen (strScanFile, &quot;rb&quot;);<br />
if (fpFile == NULL) return;</p>
<p>fseek (fpFile, 0, SEEK_END);<br />
fileSize = ftell (fpFile);<br />
rewind (fpFile);</p>
<p>while (bEOF == FALSE)<br />
{<br />
MessageBox (&quot;Bis hier gehts&quot;);<br />
// for (unsigned long u = 0; u &lt; MAX_GRABBER_BUFFER; u++)<br />
// chBuf[u] = 0;</p>
<p>nObjectsRead = fread (chBuf, sizeof(unsigned char), MAX_GRABBER_BUFFER, fpFile);<br />
if (nObjectsRead &lt; MAX_GRABBER_BUFFER) bEOF = TRUE;</p>
<p>// ScanBuffer();</p>
<p>filePos += MAX_GRABBER_BUFFER;<br />
}</p>
<p>fflush (fpFile);<br />
fclose (fpFile);</p>
<p>if (nObjectsRead != 1) return;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/167503/dialog-buffer</link><generator>RSS for Node</generator><lastBuildDate>Fri, 01 May 2026 14:34:24 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167503.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 11 Dec 2006 19:28:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dialog&#x2F;BUFFER on Mon, 11 Dec 2006 19:28:33 GMT]]></title><description><![CDATA[<p>Habe mir Dialogabasierend ein Programm geschrieben indem ich Dateien nach einem vorgegebenen String durchsuchen möchte.</p>
<p>Den Inhalt einer Datei soll Blockweise (BUFFER 8000) in einen BUFFER eingelesen werden.<br />
In der For-Schleife schmiert das ganze dann aber ab.Folgende Nachricht taucht dan auf:<br />
Unhandled exception in Finder.exe</p>
<p>Woran liegt das???<br />
Danke für Eure Hilfe!!!!</p>
<p>Im Header:</p>
<p>#define MAX_GRABBER_BUFFER 8000</p>
<p>Protected:<br />
unsigned char chBuf[MAX_GRABBER_BUFFER];</p>
<p>void CFinderDlg::ScanFile()<br />
{<br />
FILE* fpFile = NULL;<br />
int nObjectsRead = 0;<br />
BOOL bEOF = FALSE;</p>
<p>fpFile = fopen (strScanFile, &quot;rb&quot;);<br />
if (fpFile == NULL) return;</p>
<p>fseek (fpFile, 0, SEEK_END);<br />
fileSize = ftell (fpFile);<br />
rewind (fpFile);</p>
<p>while (bEOF == FALSE)<br />
{<br />
MessageBox (&quot;Bis hier gehts&quot;);<br />
// for (unsigned long u = 0; u &lt; MAX_GRABBER_BUFFER; u++)<br />
// chBuf[u] = 0;</p>
<p>nObjectsRead = fread (chBuf, sizeof(unsigned char), MAX_GRABBER_BUFFER, fpFile);<br />
if (nObjectsRead &lt; MAX_GRABBER_BUFFER) bEOF = TRUE;</p>
<p>// ScanBuffer();</p>
<p>filePos += MAX_GRABBER_BUFFER;<br />
}</p>
<p>fflush (fpFile);<br />
fclose (fpFile);</p>
<p>if (nObjectsRead != 1) return;<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190337</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190337</guid><dc:creator><![CDATA[werbue]]></dc:creator><pubDate>Mon, 11 Dec 2006 19:28:33 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog&#x2F;BUFFER on Tue, 12 Dec 2006 07:50:27 GMT]]></title><description><![CDATA[<p>was mir da grad so auffällt,<br />
du sagts ihm in der zeile</p>
<pre><code>fseek (fpFile, 0, SEEK_END);
</code></pre>
<p>das er ans ende der datei springen soll, wo bestimmt kein einzigstes byte liegt das du auslesen könntest <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/1190384</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190384</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Tue, 12 Dec 2006 07:50:27 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog&#x2F;BUFFER on Tue, 12 Dec 2006 08:00:55 GMT]]></title><description><![CDATA[<p>Er hat doch rewind drin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190390</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190390</guid><dc:creator><![CDATA[.w]]></dc:creator><pubDate>Tue, 12 Dec 2006 08:00:55 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog&#x2F;BUFFER on Tue, 12 Dec 2006 08:01:42 GMT]]></title><description><![CDATA[<p>Erstens: Wozu bestimmst du denn die Dateigröße? (@LowFly: Das funktioniert wirklich - rewind() setzt den Lesezeiger wieder auf den Anfang)</p>
<p>Zweitens: Stürzt das Programm beim Einlesen ab oder bei der anschließenden Weiterverarbeitung der Daten? Und in welcher Schleifenrunde?</p>
<p>Drittens: Eventuell solltest du umsteigen auf C++ Methoden - fstream ist imho sicherer als FILE*</p>
<p>PS: sizeof(unsigned char)==1 und fflush() brauchst du nur für Ausgabefiles.</p>
<p>PPS: sfds</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190391</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190391</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 12 Dec 2006 08:01:42 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog&#x2F;BUFFER on Tue, 12 Dec 2006 08:19:30 GMT]]></title><description><![CDATA[<p>wuste nicht das rewind das bewirkt</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190401</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190401</guid><dc:creator><![CDATA[LowFly]]></dc:creator><pubDate>Tue, 12 Dec 2006 08:19:30 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog&#x2F;BUFFER on Tue, 12 Dec 2006 08:30:06 GMT]]></title><description><![CDATA[<p>Viertens: Geht der Algorithmus in die Hose, wenn sich der zu suchende Wert über zwei Lesezugriffe verteilt. Also wenn ein Teil der zu suchenden Daten im einem Block am Ende und der nächste Teil im nächsten Block liegt.<br />
Das funktioniert so, nur wenn die Daten auch an diese 8000 Bytes Grenze alligned sind!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190411</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190411</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 12 Dec 2006 08:30:06 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog&#x2F;BUFFER on Tue, 12 Dec 2006 09:06:12 GMT]]></title><description><![CDATA[<p>In der Kopfgesteuerten While-Schleife befindet<br />
sich in der ersten For-Schleife.<br />
Dort soll der Buffer vollgeschrieben werden und in einer<br />
Methode ScanBuffer, die ich im moment noch auskommentiert<br />
habe nach einem vorgebenen String durchsucht werden.</p>
<p>Im Debug-Modus springt er mir nach 200 Schleifendurchläufe raus (sollte eigentlich bis 8000) und zeigt mir den Fehler:</p>
<p>Unhandled Exception in Finder.exe(Mein Programmname)</p>
<p>an.</p>
<p>Entweder liegt der Fehler vor der Schleife, oder er hat probleme<br />
mit dem BUFFER(8000)??????????????????????</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190427</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190427</guid><dc:creator><![CDATA[werbue]]></dc:creator><pubDate>Tue, 12 Dec 2006 09:06:12 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog&#x2F;BUFFER on Tue, 12 Dec 2006 09:15:53 GMT]]></title><description><![CDATA[<p>werbue schrieb:</p>
<blockquote>
<p>Im Debug-Modus springt er mir nach 200 Schleifendurchläufe raus (sollte eigentlich bis 8000) und zeigt mir den Fehler:</p>
</blockquote>
<p>Der 200. Durchlauf wovon? Meinst du die momentan auskommentierte for-Schleife oder die große while-Schleife?</p>
<p>Eventuell hast du auch ein Problem damit, daß dein Zeichen-Puffer nicht null-terminiert ist - und die Stringverarbeitungs-Funktionen in der ScanBuffer() über's Puffer-Ende hinauslesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190432</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190432</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 12 Dec 2006 09:15:53 GMT</pubDate></item><item><title><![CDATA[Reply to Dialog&#x2F;BUFFER on Tue, 12 Dec 2006 13:58:53 GMT]]></title><description><![CDATA[<p>Ich meine die auskommentierte For-Schleife.</p>
<p>Die Methode ScanBuffer() ist auch auskommentiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1190622</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1190622</guid><dc:creator><![CDATA[werbue]]></dc:creator><pubDate>Tue, 12 Dec 2006 13:58:53 GMT</pubDate></item></channel></rss>