<?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[Findfirstfile - &#x5C;&#x5C; und &#x5C; Problem wie lösen?]]></title><description><![CDATA[<p>Hallo Leute, habe mich mal dazu durchgerungen mit dem Borland c++ Compiler anzufangen, in Delphi bin ich ziemlich fit.</p>
<p>Jetzt eine frage:<br />
Mein code sieht folgendermaßen aus:</p>
<pre><code>fHandle=FindFirstFile(&quot;c:\\Lager\\*.bmp&quot;,&amp;wfd);
</code></pre>
<p>funzt auch einwandfrei, allerdings will ich den dir in einer Variablen festlegen.</p>
<p>Mit</p>
<pre><code>SelectDirectory(&quot;Select directory&quot;, WideString(root), dir)
</code></pre>
<p>kann ich zwar den Pfad schön selbst festlegen und in dir ablegen, allerdings eben nur mit EINFACHEN \ und nicht mit den geforderten \\ für FindFirstFile.</p>
<p>gibt es vielleicht eine Funktion die ähnlich zu FindFirstFile arbeitet aber mti einfachen \?</p>
<p>Oder eine Funktion die Ähnlich zu SelectDirectory arbeitet, aber mit doppelten \?</p>
<p>Vielen Dank im Vorraus für die Beantwortung dieser garantiert super-trivialen Frage!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/85651/findfirstfile-und-problem-wie-lösen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 02:36:16 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/85651.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 11 Sep 2004 13:03:07 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Findfirstfile - &#x5C;&#x5C; und &#x5C; Problem wie lösen? on Sat, 11 Sep 2004 13:03:07 GMT]]></title><description><![CDATA[<p>Hallo Leute, habe mich mal dazu durchgerungen mit dem Borland c++ Compiler anzufangen, in Delphi bin ich ziemlich fit.</p>
<p>Jetzt eine frage:<br />
Mein code sieht folgendermaßen aus:</p>
<pre><code>fHandle=FindFirstFile(&quot;c:\\Lager\\*.bmp&quot;,&amp;wfd);
</code></pre>
<p>funzt auch einwandfrei, allerdings will ich den dir in einer Variablen festlegen.</p>
<p>Mit</p>
<pre><code>SelectDirectory(&quot;Select directory&quot;, WideString(root), dir)
</code></pre>
<p>kann ich zwar den Pfad schön selbst festlegen und in dir ablegen, allerdings eben nur mit EINFACHEN \ und nicht mit den geforderten \\ für FindFirstFile.</p>
<p>gibt es vielleicht eine Funktion die ähnlich zu FindFirstFile arbeitet aber mti einfachen \?</p>
<p>Oder eine Funktion die Ähnlich zu SelectDirectory arbeitet, aber mit doppelten \?</p>
<p>Vielen Dank im Vorraus für die Beantwortung dieser garantiert super-trivialen Frage!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/604562</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/604562</guid><dc:creator><![CDATA[JKuehl]]></dc:creator><pubDate>Sat, 11 Sep 2004 13:03:07 GMT</pubDate></item><item><title><![CDATA[Reply to Findfirstfile - &#x5C;&#x5C; und &#x5C; Problem wie lösen? on Sat, 11 Sep 2004 13:22:14 GMT]]></title><description><![CDATA[<p>Dir fehlen anscheinend Grundlagen in C/C++.</p>
<p>Nur so viel:<br />
FindFirstFile erwartet immer nur einen Backslash. Genau das machst du in deinem ersten Beispiel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/604573</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/604573</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Sat, 11 Sep 2004 13:22:14 GMT</pubDate></item><item><title><![CDATA[Reply to Findfirstfile - &#x5C;&#x5C; und &#x5C; Problem wie lösen? on Sat, 11 Sep 2004 13:32:23 GMT]]></title><description><![CDATA[<p>Grundlagen sind vorhanden, allerdings nur reine Command-Line-Grundlagen, keinerlei Windows-Api´s usw.</p>
<p>Findfirstfile funktioniert NUR mit 2 Backslashes, mit einem klappt das ganze nicht. Daher die Frage wie ich das beheben kann.</p>
<p>edit: das ganze soll so arbeiten:</p>
<pre><code>fHandle=FindFirstFile(dir,&amp;wfd);
</code></pre>
<p>wobei in der dir-Variable zuerst steht &quot;c:\Lager\&quot; (eingelesen durch SelectDirectory)</p>
<p>ergängt wird das ganze dann durch die Maske mit StrCat oder ähnlichem.</p>
<p>edit2: nochwas: wfd ist vom typ WIN32_FIND_DATA wfd<br />
hängt es damit zusammen vielleicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/604575</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/604575</guid><dc:creator><![CDATA[JKuehl]]></dc:creator><pubDate>Sat, 11 Sep 2004 13:32:23 GMT</pubDate></item><item><title><![CDATA[Reply to Findfirstfile - &#x5C;&#x5C; und &#x5C; Problem wie lösen? on Sat, 11 Sep 2004 13:31:51 GMT]]></title><description><![CDATA[<p>JKuehl schrieb:</p>
<blockquote>
<p>Grundlagen sind vorhanden, allerdings nur reine Command-Line-Grundlagen, keinerlei Windows-Api´s usw.</p>
<p>Findfirstfile funktioniert NUR mit 2 Backslashes, mit einem klappt das ganze nicht. Daher die Frage wie ich das beheben kann.</p>
</blockquote>
<p>Diese beiden Sätze widersprechen sich.</p>
<p>Nochmal: FindFirstFile erwartet einen Pfad, der von einzelnen Backslashes getrennt ist, nicht von doppelten. Und genau das übergibst du in deinem ersten Beispiel.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/604578</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/604578</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Sat, 11 Sep 2004 13:31:51 GMT</pubDate></item><item><title><![CDATA[Reply to Findfirstfile - &#x5C;&#x5C; und &#x5C; Problem wie lösen? on Sat, 11 Sep 2004 13:37:58 GMT]]></title><description><![CDATA[<p>das dachte ich ja auch...</p>
<p>hier der funktionierende Code:</p>
<pre><code>void __fastcall TForm1::FormCreate(TObject *Sender)
{

String dir = &quot;&quot;, root = &quot;&quot;; // &quot;c:&quot;

if (SelectDirectory(&quot;Select directory&quot;, WideString(root), dir))
  Edit1-&gt;Text = dir;

fHandle=FindFirstFile(&quot;c:\\Lager\\*.bmp&quot;,&amp;wfd);
FindNextFile(fHandle,&amp;wfd); // damit wird auch das .. rausgeworfen

while (FindNextFile(fHandle,&amp;wfd))
  ListBox1-&gt;Items-&gt;Add(wfd.cFileName);
}
</code></pre>
<p>setze ich</p>
<pre><code>fHandle=FindFirstFile(&quot;c:\Lager\*.bmp&quot;,&amp;wfd);
</code></pre>
<p>ein, funktioniert das ganze nichtmehr!</p>
<p>in dir steht z.b. &quot;c:\Lager&quot;</p>
<p>ich versteh nicht wo der Fehler liegen kann.. WIN32_FIND_DATA ist eine structure, die einen terminierten String in cFileName ablegt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/604581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/604581</guid><dc:creator><![CDATA[JKuehl]]></dc:creator><pubDate>Sat, 11 Sep 2004 13:37:58 GMT</pubDate></item><item><title><![CDATA[Reply to Findfirstfile - &#x5C;&#x5C; und &#x5C; Problem wie lösen? on Sat, 11 Sep 2004 13:38:23 GMT]]></title><description><![CDATA[<p>Das \-Zeichen hat in C++-Strings eine besondere Bedeutung, Stichwort escape-Sequenzen. Du kennst sicher &quot;\n&quot;; das wird vom Compiler in einen Zeilenumbruch umgewandelt. &quot;\&quot; wandelt der Compiler nun in einen einzelnen Backslash um.<br />
Daher übergibst du mit '\' einzelne Backslashes.</p>
<p>Ein doppelter Backslash wäre &quot;\\\&quot;. Diese Escape-Sequenzen existieren nur auf Compiler-Ebene. Wenn dein Programm vom User oder aus einer Datei einen String einliest, reicht ein Backslash.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/604584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/604584</guid><dc:creator><![CDATA[Christoph]]></dc:creator><pubDate>Sat, 11 Sep 2004 13:38:23 GMT</pubDate></item><item><title><![CDATA[Reply to Findfirstfile - &#x5C;&#x5C; und &#x5C; Problem wie lösen? on Sat, 11 Sep 2004 13:40:51 GMT]]></title><description><![CDATA[<p>arghl .. das kommt davon wenn man Delphi gewohnt ist und sich dann wieder an c-Syntax erinnert... bekannte Stolperfalle = und == ....<br />
Aber an \ in Strings hab ich jetzt garnicht gedacht...</p>
<p>dann bau ich mal das ganze um , dann musses ja funzen <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/604587</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/604587</guid><dc:creator><![CDATA[JKuehl]]></dc:creator><pubDate>Sat, 11 Sep 2004 13:40:51 GMT</pubDate></item><item><title><![CDATA[Reply to Findfirstfile - &#x5C;&#x5C; und &#x5C; Problem wie lösen? on Sat, 11 Sep 2004 13:53:00 GMT]]></title><description><![CDATA[<p>DIE LÖSUNG</p>
<pre><code>void __fastcall TForm1::FormCreate(TObject *Sender) 
{ 

String dir = &quot;&quot;, root = &quot;&quot;; // &quot;c:&quot; 

if (SelectDirectory(&quot;Select directory&quot;, WideString(root), dir)) 
    dir +=&quot;\\*.bmp&quot;;

fHandle=FindFirstFile(dir.c_str(),&amp;wfd); 
FindNextFile(fHandle,&amp;wfd); // damit wird auch das .. rausgeworfen 

while (FindNextFile(fHandle,&amp;wfd)) 
  ListBox1-&gt;Items-&gt;Add(wfd.cFileName); 
}
</code></pre>
<p>eine einfache Stringerweiterung um die Maske &quot;\*.bmp&quot; sowie eine Typumwandlung in c_char -- &gt; fertisch.</p>
<p>Vielen Dank für die Denkanstoß <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/604598</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/604598</guid><dc:creator><![CDATA[JKuehl]]></dc:creator><pubDate>Sat, 11 Sep 2004 13:53:00 GMT</pubDate></item></channel></rss>