<?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[CFile - nichtvorhandene Datei als Lesequelle]]></title><description><![CDATA[<p>Hi Leute</p>
<p>Heute brauch ich echt eure Hilfe... 3. Anfrage <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>Ich habe in meinem Programm die Möglichkeit Datensätze aus Dateien auszulesen. Diese Dateien können einfach in einem Textfeld angegeben werden. Leider hab ich das Problem, dass ich bei einer Funktion diese Dateien nur auslesen will, was dann ein Problem ist, wenn es die Datei nicht gibt. Beim Schreiben erzeug ich sie einfach, das ist ja klar; beim Lesen allerdings ist das nicht so einfach.</p>
<p>Kann ich den Ordner auf die Anwesenheit dieser Datei überprüfen bevor ich sie öffne?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/152947/cfile-nichtvorhandene-datei-als-lesequelle</link><generator>RSS for Node</generator><lastBuildDate>Thu, 23 Jul 2026 22:33:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/152947.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 11 Jul 2006 12:20:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CFile - nichtvorhandene Datei als Lesequelle on Tue, 11 Jul 2006 12:20:14 GMT]]></title><description><![CDATA[<p>Hi Leute</p>
<p>Heute brauch ich echt eure Hilfe... 3. Anfrage <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>Ich habe in meinem Programm die Möglichkeit Datensätze aus Dateien auszulesen. Diese Dateien können einfach in einem Textfeld angegeben werden. Leider hab ich das Problem, dass ich bei einer Funktion diese Dateien nur auslesen will, was dann ein Problem ist, wenn es die Datei nicht gibt. Beim Schreiben erzeug ich sie einfach, das ist ja klar; beim Lesen allerdings ist das nicht so einfach.</p>
<p>Kann ich den Ordner auf die Anwesenheit dieser Datei überprüfen bevor ich sie öffne?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1095744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1095744</guid><dc:creator><![CDATA[Stefan_Walter]]></dc:creator><pubDate>Tue, 11 Jul 2006 12:20:14 GMT</pubDate></item><item><title><![CDATA[Reply to CFile - nichtvorhandene Datei als Lesequelle on Tue, 11 Jul 2006 12:35:10 GMT]]></title><description><![CDATA[<p>ich glaube wenn du eine datei öffnen willst, die nicht da ist, bekommste 'ne 'CFileException'</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1095754</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1095754</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Tue, 11 Jul 2006 12:35:10 GMT</pubDate></item><item><title><![CDATA[Reply to CFile - nichtvorhandene Datei als Lesequelle on Tue, 11 Jul 2006 12:39:05 GMT]]></title><description><![CDATA[<p>Kannst auch eine Funktion nehmen die das Vorhanden sein prüft z.b.</p>
<pre><code class="language-cpp">bool FileExsist(CString sFile)
{
    //check exsist of Filename
    WIN32_FIND_DATA FileData; 
    HANDLE hSearch; 
    hSearch = FindFirstFile(sFile, &amp;FileData); 
    if (hSearch == INVALID_HANDLE_VALUE) 
    { 
        CString sText;
        sText.Format(&quot;File : %s not found&quot;, sFile);
        AfxMessageBox(sText);
        return false;
    }

    return true;
}
</code></pre>
<p>gruss<br />
Marcus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1095759</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1095759</guid><dc:creator><![CDATA[UserMarcus]]></dc:creator><pubDate>Tue, 11 Jul 2006 12:39:05 GMT</pubDate></item><item><title><![CDATA[Reply to CFile - nichtvorhandene Datei als Lesequelle on Tue, 11 Jul 2006 12:42:36 GMT]]></title><description><![CDATA[<p>UserMarcus schrieb:</p>
<blockquote>
<pre><code class="language-cpp">bool FileExsist(CString sFile)
{
    //check exsist of Filename
    WIN32_FIND_DATA FileData; 
    HANDLE hSearch; 
    hSearch = FindFirstFile(sFile, &amp;FileData); 
    if (hSearch == INVALID_HANDLE_VALUE) 
    { 
        CString sText;
        sText.Format(&quot;File : %s not found&quot;, sFile);
        AfxMessageBox(sText);
        return false;
    }
    
    return true;
}
</code></pre>
</blockquote>
<p>Ein Beispiel von der schlechten Sorte:<br />
Wo ist der FindClose?</p>
<p><strong>PathFileExists</strong> ist viel einfacher!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1095762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1095762</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 11 Jul 2006 12:42:36 GMT</pubDate></item><item><title><![CDATA[Reply to CFile - nichtvorhandene Datei als Lesequelle on Tue, 11 Jul 2006 12:47:21 GMT]]></title><description><![CDATA[<p>Bin noch nicht so lang im Geschäft <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 man lernt nie aus. <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>Danke für den Hinweis.</p>
<p>gruss<br />
Marcus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1095771</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1095771</guid><dc:creator><![CDATA[UserMarcus]]></dc:creator><pubDate>Tue, 11 Jul 2006 12:47:21 GMT</pubDate></item><item><title><![CDATA[Reply to CFile - nichtvorhandene Datei als Lesequelle on Tue, 11 Jul 2006 13:13:53 GMT]]></title><description><![CDATA[<p>Hab nochmal nachgedacht,<br />
was ist wenn ich es so mache bleibt dann ein HANDLE zurück ?</p>
<pre><code class="language-cpp">bool FileExsist(CString sFile) 
{ 
    //check exsist of Filename 
    WIN32_FIND_DATA FileData; 
    if (FindFirstFile(sFile, &amp;FileData) == INVALID_HANDLE_VALUE) 
    { 
        CString sText; 
        sText.Format(&quot;File : %s not found&quot;, sFile); 
        AfxMessageBox(sText); 
        return false; 
    } 

    return true; 
}
</code></pre>
<p>Nur zu meinem Verständnis.</p>
<p>Besten Danke,<br />
gruss<br />
Marcus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1095801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1095801</guid><dc:creator><![CDATA[UserMarcus]]></dc:creator><pubDate>Tue, 11 Jul 2006 13:13:53 GMT</pubDate></item><item><title><![CDATA[Reply to CFile - nichtvorhandene Datei als Lesequelle on Tue, 11 Jul 2006 14:29:32 GMT]]></title><description><![CDATA[<p>In deinem Code ist immer noch kein FindClose. =&gt; Er ist immer noch falsch. <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/1095847</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1095847</guid><dc:creator><![CDATA[fc]]></dc:creator><pubDate>Tue, 11 Jul 2006 14:29:32 GMT</pubDate></item><item><title><![CDATA[Reply to CFile - nichtvorhandene Datei als Lesequelle on Tue, 11 Jul 2006 14:58:54 GMT]]></title><description><![CDATA[<p>Ich dachte wir sind hier im MFC Forum ^^</p>
<pre><code class="language-cpp">CFile File;
CFileException Exception;
if(File.Open(strPath, CFile::modeRead, &amp;Exception)
{
    // Success ... File lesen.

    File.Close();
}
else
{
    // Fehler ... Exception lesen
    if(Exception.m_cause == CFileException::fileNotFound)
    {
        // File wurde nicht gefunden.
    }
}
</code></pre>
<p>Das ganze geht auch mit Try und Catch.</p>
<pre><code class="language-cpp">TRY
{
    CFile File(strPath, CFile::modeRead);
    // ...

    File.Close();
}
CATCH(CFileException, pEx)
{
    // Fehler ... Exception lesen
    if(pEx-&gt;m_cause == CFileException::fileNotFound)
    {
        // File wurde nicht gefunden.
    }
}
END_CATCH
</code></pre>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1095861</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1095861</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Tue, 11 Jul 2006 14:58:54 GMT</pubDate></item><item><title><![CDATA[Reply to CFile - nichtvorhandene Datei als Lesequelle on Tue, 11 Jul 2006 16:06:06 GMT]]></title><description><![CDATA[<p>UserMarcus schrieb:</p>
<blockquote>
<p>Hab nochmal nachgedacht,<br />
was ist wenn ich es so mache bleibt dann ein HANDLE zurück ?</p>
</blockquote>
<p>Jo! Und damit entsteht ein Speicherleck im OS!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1095902</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1095902</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 11 Jul 2006 16:06:06 GMT</pubDate></item><item><title><![CDATA[Reply to CFile - nichtvorhandene Datei als Lesequelle on Tue, 11 Jul 2006 16:12:16 GMT]]></title><description><![CDATA[<p>Dravere schrieb:</p>
<blockquote>
<p>Ich dachte wir sind hier im MFC Forum ^^</p>
</blockquote>
<p>Aber dann doch bitte CFile::GetStatus verwenden!</p>
<p>... aber selbst wenn dies ein MFC Forum ist, wäre es dumm die MFC zu vergenusswurzeln wenn es einfachere Lösungen gibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1095904</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1095904</guid><dc:creator><![CDATA[Martin Richter]]></dc:creator><pubDate>Tue, 11 Jul 2006 16:12:16 GMT</pubDate></item><item><title><![CDATA[Reply to CFile - nichtvorhandene Datei als Lesequelle on Wed, 12 Jul 2006 06:33:54 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>Dravere schrieb:</p>
<blockquote>
<p>Ich dachte wir sind hier im MFC Forum ^^</p>
</blockquote>
<p>Aber dann doch bitte CFile::GetStatus verwenden!</p>
<p>... aber selbst wenn dies ein MFC Forum ist, wäre es dumm die MFC zu vergenusswurzeln wenn es einfachere Lösungen gibt.</p>
</blockquote>
<p>Nicht unbedingt. Für die Überprüfung ob eine Datei anwesend ist, womöglich. Aber er hat ja gesagt, dass er die Dateien lesen will und gerne überprüfen möchte, ob die Dateien vorhanden sind. Beim öffnen und arbeiten mit einer Datei kann aber mehr schief gehen, als das sie nur nicht vorhanden ist. Mein Code oben kann man gleich weiterverwenden für die anderen Fehler, welche entstehen können. Deswegen denke ich, ist der Code sinnvoller und genau das ist ja auch eben oft einer der Vorteile der MFC.</p>
<p>Grüssli</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1096139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096139</guid><dc:creator><![CDATA[Dravere]]></dc:creator><pubDate>Wed, 12 Jul 2006 06:33:54 GMT</pubDate></item><item><title><![CDATA[Reply to CFile - nichtvorhandene Datei als Lesequelle on Wed, 12 Jul 2006 07:59:30 GMT]]></title><description><![CDATA[<p>Martin Richter schrieb:</p>
<blockquote>
<p>UserMarcus schrieb:</p>
<blockquote>
<p>Hab nochmal nachgedacht,<br />
was ist wenn ich es so mache bleibt dann ein HANDLE zurück ?</p>
</blockquote>
<p>Jo! Und damit entsteht ein Speicherleck im OS!</p>
</blockquote>
<p>dem OS tut's keinen beinbruch. es ist eine kleine unstimmigkeit in einem unbedeutenden userland prozess und wenn dieser prozess beendet wird (wie auch immmer) dann ist das speicherleck auch wieder wech <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>
]]></description><link>https://www.c-plusplus.net/forum/post/1096183</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1096183</guid><dc:creator><![CDATA[net 0]]></dc:creator><pubDate>Wed, 12 Jul 2006 07:59:30 GMT</pubDate></item></channel></rss>