<?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[Fehler in Anwendung beim einlesen großer Text Datein]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein Programm geschrieben was ein Logfile analysiert. Diese Logfiles können bis zu 25MB groß werden. Wenn ich kleine Datei einlese (500kB) geht es blasenfrei, sind die Datein 10MB oder größer kommen am ende folgende Fehler:</p>
<p>Die Ausnahme &quot;Unbekanter Softwarefehler&quot;(0x0eedfade) ist in der Anwendung an der Stelle 0x77e7a4e1 aufgetreten.</p>
<p>Diese Meldung kommt zwei mal.</p>
<p>Auch wenn ich alles rausschmeisse und nur die Datei öffne un im Konsolenfenster ausgebe kracht es aber erst ganz am ende!</p>
<p>Liberis<br />
#include &lt;vcl.h&gt;<br />
#include &lt;condefs.h&gt;<br />
#include &lt;stdio.h&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;iostream.h&gt;<br />
#include &lt;fstream.h&gt;<br />
#include &lt;conio.h&gt;<br />
#pragma hdrstop<br />
.<br />
.<br />
.<br />
AnsiString Param1 = ParamStr(1);<br />
AnsiString Param2 = ParamStr(2);<br />
ifstream infile;<br />
infile.open(Param1.c_str());</p>
<p>if (!infile) { // Datei vorhanden ?<br />
cout &lt;&lt; &quot;Datei &quot; &lt;&lt; Param1.c_str() &lt;&lt; &quot; nicht gefunden !&quot; &lt;&lt; endl ;<br />
return 0;<br />
}</p>
<p>while (!infile.eof()) {<br />
infile.getline( cs, sizeof(cs) );<br />
}</p>
<p>infile.close();<br />
return 0;</p>
<p>So sieht es aus ... leicht eingekürzt.</p>
<p><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="😞"
    /> Wer kann mir da was zu sagen ? Denke hat was mit dem Speichern oder dem schließen der Datei zu tun.</p>
<p>Gruß Ralf</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/92347/fehler-in-anwendung-beim-einlesen-großer-text-datein</link><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Jul 2026 11:41:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/92347.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 18 Nov 2004 07:13:24 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Fehler in Anwendung beim einlesen großer Text Datein on Thu, 18 Nov 2004 07:13:24 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe ein Programm geschrieben was ein Logfile analysiert. Diese Logfiles können bis zu 25MB groß werden. Wenn ich kleine Datei einlese (500kB) geht es blasenfrei, sind die Datein 10MB oder größer kommen am ende folgende Fehler:</p>
<p>Die Ausnahme &quot;Unbekanter Softwarefehler&quot;(0x0eedfade) ist in der Anwendung an der Stelle 0x77e7a4e1 aufgetreten.</p>
<p>Diese Meldung kommt zwei mal.</p>
<p>Auch wenn ich alles rausschmeisse und nur die Datei öffne un im Konsolenfenster ausgebe kracht es aber erst ganz am ende!</p>
<p>Liberis<br />
#include &lt;vcl.h&gt;<br />
#include &lt;condefs.h&gt;<br />
#include &lt;stdio.h&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;iostream.h&gt;<br />
#include &lt;fstream.h&gt;<br />
#include &lt;conio.h&gt;<br />
#pragma hdrstop<br />
.<br />
.<br />
.<br />
AnsiString Param1 = ParamStr(1);<br />
AnsiString Param2 = ParamStr(2);<br />
ifstream infile;<br />
infile.open(Param1.c_str());</p>
<p>if (!infile) { // Datei vorhanden ?<br />
cout &lt;&lt; &quot;Datei &quot; &lt;&lt; Param1.c_str() &lt;&lt; &quot; nicht gefunden !&quot; &lt;&lt; endl ;<br />
return 0;<br />
}</p>
<p>while (!infile.eof()) {<br />
infile.getline( cs, sizeof(cs) );<br />
}</p>
<p>infile.close();<br />
return 0;</p>
<p>So sieht es aus ... leicht eingekürzt.</p>
<p><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="😞"
    /> Wer kann mir da was zu sagen ? Denke hat was mit dem Speichern oder dem schließen der Datei zu tun.</p>
<p>Gruß Ralf</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654069</guid><dc:creator><![CDATA[Ralf Kruppa]]></dc:creator><pubDate>Thu, 18 Nov 2004 07:13:24 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler in Anwendung beim einlesen großer Text Datein on Thu, 18 Nov 2004 08:21:55 GMT]]></title><description><![CDATA[<p>Das ganze sieht mehr nach C++ aus, als nach BCB (einzig vcl.h und AnsiString). Verrat mir bitte mal was cs ist? Ein char oder char[]? Ein string?</p>
<p>Einlesen würde ich außerdem so:</p>
<pre><code class="language-cpp">std::string line;
while(getline(infile, line))
{
   //mach was mit line
};
</code></pre>
<p>oder so</p>
<pre><code class="language-cpp">for(std::string line; getline(infile, line); )
{
   //mach was mit line
}
</code></pre>
<p>weil eof() nur angibt ob das eof-Bit gesetzt ist und sonst nichts. Daher sollte man entweder noch das failbit abfragen oder es auf die genannte Weise versuchen. Diese prüft nämlich implizit auf fail() <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>Edit: Die abschließende Klammer für while fehlte...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654115</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654115</guid><dc:creator><![CDATA[PuppetMaster2k]]></dc:creator><pubDate>Thu, 18 Nov 2004 08:21:55 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler in Anwendung beim einlesen großer Text Datein on Thu, 18 Nov 2004 08:53:10 GMT]]></title><description><![CDATA[<p>Ich weiß nicht mehr, warum ich das mal wie folgt gemacht habe, aber auf jeden Fall kann ich damit Dateien bis 1 GB Größe problemlos einlesen. Drüber habe ich nicht getestet. 190 MB einlesen dauert nicht ganz 3 1/2 Sek.</p>
<pre><code class="language-cpp">AnsiString asFileNameAndPath = &quot;c:\\sltest.txt&quot;;
TFileStream* myfs = NULL;
char* myfsbuf = NULL;
int myfsbuf_size = 1024;
int myfsbuf_read;
try
{
	try
	{
		myfs = new TFileStream(asFileNameAndPath, fmOpenRead);
		myfsbuf = new char[myfsbuf_size];
		myfs-&gt;Position = 0;
		do
		{
			myfsbuf_read = myfs-&gt;Read((void*) myfsbuf, myfsbuf_size);
			// Daten auswerten
		} while (myfsbuf_read == myfsbuf_size);
	}
	catch(...)
	{
		ShowMessage(&quot;Fehler beim Lesen der Datei.&quot;);
	}
}
__finally
{
	if (myfs)
		delete myfs;
	if (myfsbuf)
		delete[] myfsbuf;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/654145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654145</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Thu, 18 Nov 2004 08:53:10 GMT</pubDate></item><item><title><![CDATA[Reply to Fehler in Anwendung beim einlesen großer Text Datein on Fri, 19 Nov 2004 06:35:00 GMT]]></title><description><![CDATA[<p>Danke für die Unterstützung, jetzt läuft es.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/654999</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/654999</guid><dc:creator><![CDATA[Ralf Kruppa]]></dc:creator><pubDate>Fri, 19 Nov 2004 06:35:00 GMT</pubDate></item></channel></rss>