<?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[InternetFindNextFile]]></title><description><![CDATA[<p>Hallo, ich habe ein Problem mit InternetFindNextFile.<br />
Ich will mir den inhalt eines bestimten FTP Ordners anzeigen lassen.<br />
Dazu verwende ich folgenden code:</p>
<pre><code class="language-cpp">HINTERNET session, ftp, hFtpFind;
WIN32_FIND_DATA FindData;
ftp = NULL;

session = InternetOpen(&quot;FTP-Session&quot;, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_ASYNC);
ftp = InternetConnect(session, m_cServer, 21, m_cUsername, m_cPasswd, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);

if (ftp != NULL)
{
    FtpSetCurrentDirectory(ftp, m_cPath);
    hFtpFind = FtpFindFirstFile(ftp, &quot;*.*&quot;, &amp;FindData, INTERNET_FLAG_RELOAD, NULL);
    // 1. Dateinamen verarbeiten	
    while(InternetFindNextFile(hFtpFind, &amp;FindData)) 
    {
        // Verarbeitung der weiteren Dateinamen
    }
}
else
    MessageBox(&quot;FTP-Verbindung konnte nicht hergestellt werden. Bitte überprüfen Sie Ihre Einstellungen&quot;);
</code></pre>
<p>Der 1. eintrag der mit FtpFindFirstFile gefunden wurde is immer korrekt.<br />
Die whileschleife jedoch beendet sich immer mit false. Ich bekomme somit immer nur den ersten dateinamen. was mache ich faltsch?<br />
Danke schonmal im vorraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/69402/internetfindnextfile</link><generator>RSS for Node</generator><lastBuildDate>Sat, 02 May 2026 04:08:56 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/69402.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 27 Mar 2004 08:36:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to InternetFindNextFile on Sat, 27 Mar 2004 08:36:11 GMT]]></title><description><![CDATA[<p>Hallo, ich habe ein Problem mit InternetFindNextFile.<br />
Ich will mir den inhalt eines bestimten FTP Ordners anzeigen lassen.<br />
Dazu verwende ich folgenden code:</p>
<pre><code class="language-cpp">HINTERNET session, ftp, hFtpFind;
WIN32_FIND_DATA FindData;
ftp = NULL;

session = InternetOpen(&quot;FTP-Session&quot;, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, INTERNET_FLAG_ASYNC);
ftp = InternetConnect(session, m_cServer, 21, m_cUsername, m_cPasswd, INTERNET_SERVICE_FTP, INTERNET_FLAG_PASSIVE, 0);

if (ftp != NULL)
{
    FtpSetCurrentDirectory(ftp, m_cPath);
    hFtpFind = FtpFindFirstFile(ftp, &quot;*.*&quot;, &amp;FindData, INTERNET_FLAG_RELOAD, NULL);
    // 1. Dateinamen verarbeiten	
    while(InternetFindNextFile(hFtpFind, &amp;FindData)) 
    {
        // Verarbeitung der weiteren Dateinamen
    }
}
else
    MessageBox(&quot;FTP-Verbindung konnte nicht hergestellt werden. Bitte überprüfen Sie Ihre Einstellungen&quot;);
</code></pre>
<p>Der 1. eintrag der mit FtpFindFirstFile gefunden wurde is immer korrekt.<br />
Die whileschleife jedoch beendet sich immer mit false. Ich bekomme somit immer nur den ersten dateinamen. was mache ich faltsch?<br />
Danke schonmal im vorraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/489842</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/489842</guid><dc:creator><![CDATA[MeisterMichi]]></dc:creator><pubDate>Sat, 27 Mar 2004 08:36:11 GMT</pubDate></item><item><title><![CDATA[Reply to InternetFindNextFile on Sat, 27 Mar 2004 14:06:29 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wenn du asynchrone Operationen ausführst (INTERNET_FLAG_ASYNC), dann kann es sein, daß Funktionen mit ihrer Aufgabe noch nicht fertig sind, und deswegen scheitern. Probiere zunächst einmal, INTERNET_FLAG_ASYNC wegzulassen:</p>
<pre><code class="language-cpp">...
session = InternetOpen(&quot;FTP-Session&quot;, INTERNET_OPEN_TYPE_PRECONFIG, NULL, NULL, 0);
...
</code></pre>
<p>wenn das nichts hilft, dann mit GetLastError den Fehler abfragen:</p>
<pre><code class="language-cpp">if (ftp != NULL)
{
    FtpSetCurrentDirectory(ftp, m_cPath);
    hFtpFind = FtpFindFirstFile(ftp, &quot;*.*&quot;, &amp;FindData, INTERNET_FLAG_RELOAD, NULL);
    // 1. Dateinamen verarbeiten    
    while(InternetFindNextFile(hFtpFind, &amp;FindData)) 
    {
        // Verarbeitung der weiteren Dateinamen
    }

    DWORD dwError = GetLastError();
    if (dwError == ERROR_NO_MORE_FILES) MessageBox(&quot;Keine (weiteren) Dateien gefunden&quot;);
    else
    {
       CString strError;
       strError.Format(&quot;%d&quot;, dwError);
       MessageBox(strError);
    }
}
else
    MessageBox(&quot;FTP-Verbindung konnte nicht hergestellt werden. Bitte überprüfen Sie Ihre Einstellungen&quot;);
</code></pre>
<p>wenn du schon MFC verwendest, warum nutzt du nicht die Klassen CFtpFileFind, CFtpConnection, CInternetSession usw..? Hat zwar jetzt nichts mit dem Problem zu tun, aber ich wollte nur darauf hinweisen, daß es diese Klassen gibt, falls nicht bekannt.</p>
<p>MfG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/489992</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/489992</guid><dc:creator><![CDATA[Probe-Nutzer]]></dc:creator><pubDate>Sat, 27 Mar 2004 14:06:29 GMT</pubDate></item><item><title><![CDATA[Reply to InternetFindNextFile on Sat, 27 Mar 2004 14:31:00 GMT]]></title><description><![CDATA[<p>ja.. das war der fehler. Vielen dank!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/490010</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/490010</guid><dc:creator><![CDATA[MeisterMichi]]></dc:creator><pubDate>Sat, 27 Mar 2004 14:31:00 GMT</pubDate></item></channel></rss>