<?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[[ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben]]></title><description><![CDATA[<p>Hallo allerseits,</p>
<p>ich muss für ein Programm alle Unterverzeichnisse in einem Ordner ausgeben. Das ganze läuft unter Linux (ganz altes Knoppix) und Compiler ist Borland. (Ich weiß was Ihr jetzt denkt.... ist leider nicht zu ändern... <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="😞"
    /> )</p>
<p>Also mein Programm bisher gibt mir alles in dem Ordner aus. Also Verzeichnisse aber auch normale Dateien.</p>
<pre><code class="language-cli">#include &lt;dirent.h&gt; 
#include &lt;stdio.h&gt; 

int main(void)
{
  DIR           *d;
  struct dirent *dir;
  d = opendir(&quot;/&lt;PATHTOFOLDER&gt;&quot;);
  if (d)
  {
    while ((dir = readdir(d)) != NULL)
    {
      printf(&quot;%s\n&quot;, dir-&gt;d_name);
    }

    closedir(d);
  }

  return(0);
}
</code></pre>
<p>Problem ist, dass die Ordner keine besonderen Merkmale haben, dass ich das damit selektieren könnte. Und manche Dateien haben auch keinen Punkt bzw. Endung... also nach &quot;.&quot; suchen geht auch nicht...</p>
<p>Gibt es einen Weg speziell nur die Ordner auszugeben? Oder irgendein anderer Vorschlag?<br />
Auch wenn Ihr sowas vielleicht schon mal auf anderen Systemen gemacht habt... würde mich über Info sehr freuen. Vielleicht kann man das ja für Linux/Borland dann anpassen...</p>
<p>Danke schon mal im Voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/273800/erledigt-alle-ordnernamen-in-verzeichnis-ausgeben</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 22:40:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/273800.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 13 Sep 2010 14:55:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Wed, 15 Sep 2010 12:18:58 GMT]]></title><description><![CDATA[<p>Hallo allerseits,</p>
<p>ich muss für ein Programm alle Unterverzeichnisse in einem Ordner ausgeben. Das ganze läuft unter Linux (ganz altes Knoppix) und Compiler ist Borland. (Ich weiß was Ihr jetzt denkt.... ist leider nicht zu ändern... <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="😞"
    /> )</p>
<p>Also mein Programm bisher gibt mir alles in dem Ordner aus. Also Verzeichnisse aber auch normale Dateien.</p>
<pre><code class="language-cli">#include &lt;dirent.h&gt; 
#include &lt;stdio.h&gt; 

int main(void)
{
  DIR           *d;
  struct dirent *dir;
  d = opendir(&quot;/&lt;PATHTOFOLDER&gt;&quot;);
  if (d)
  {
    while ((dir = readdir(d)) != NULL)
    {
      printf(&quot;%s\n&quot;, dir-&gt;d_name);
    }

    closedir(d);
  }

  return(0);
}
</code></pre>
<p>Problem ist, dass die Ordner keine besonderen Merkmale haben, dass ich das damit selektieren könnte. Und manche Dateien haben auch keinen Punkt bzw. Endung... also nach &quot;.&quot; suchen geht auch nicht...</p>
<p>Gibt es einen Weg speziell nur die Ordner auszugeben? Oder irgendein anderer Vorschlag?<br />
Auch wenn Ihr sowas vielleicht schon mal auf anderen Systemen gemacht habt... würde mich über Info sehr freuen. Vielleicht kann man das ja für Linux/Borland dann anpassen...</p>
<p>Danke schon mal im Voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952042</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952042</guid><dc:creator><![CDATA[Mufasa]]></dc:creator><pubDate>Wed, 15 Sep 2010 12:18:58 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Mon, 13 Sep 2010 14:57:14 GMT]]></title><description><![CDATA[<p>pack das doch erstmal in eine eigene rekursive funktion... entweder versuchst es zu öffnen gehts ists ein ordner. andernfalls nimmst os-functionen <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/1952044</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952044</guid><dc:creator><![CDATA[rage_qu1t]]></dc:creator><pubDate>Mon, 13 Sep 2010 14:57:14 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Mon, 13 Sep 2010 14:58:35 GMT]]></title><description><![CDATA[<p>Also mit Linux kenn ich mich leider gar nicht aus, aber unter Windows oder auch Qt gibt es extra Parameter bzw Konstanten die man angeben kann, damit einem nur Ordner angezeigt werden.</p>
<p>Ich gehe stark davon aus, dass es unter Linux auch sowas gibt.<br />
Schau doch mal in der Dokumentation nach.</p>
<p>Aber ich denke es wird demnächst auch jemand antworten, der sich damit auskennt und ne Antwort parat hat;-)</p>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952046</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Mon, 13 Sep 2010 14:58:35 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Mon, 13 Sep 2010 15:00:20 GMT]]></title><description><![CDATA[<p>&quot;find&quot; sollte das auch können <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/1952047</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952047</guid><dc:creator><![CDATA[rage_qu1t]]></dc:creator><pubDate>Mon, 13 Sep 2010 15:00:20 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Mon, 13 Sep 2010 15:03:06 GMT]]></title><description><![CDATA[<p>Borland bietet mit der VCL die Funktionen FindFirst/FindNext/FindClose, zusammen mit der Klasse TSearchRec kann man alle Einträge eines Verzeichnisses durchlaufen und deren Attribute auswerten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952048</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952048</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Mon, 13 Sep 2010 15:03:06 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Mon, 13 Sep 2010 15:07:19 GMT]]></title><description><![CDATA[<p>rage_qu1t schrieb:</p>
<blockquote>
<p>&quot;find&quot; sollte das auch können <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>
</blockquote>
<p>Eher &quot;ls&quot; :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952049</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952049</guid><dc:creator><![CDATA[__ll__ll__]]></dc:creator><pubDate>Mon, 13 Sep 2010 15:07:19 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Mon, 13 Sep 2010 15:18:44 GMT]]></title><description><![CDATA[<p>WOW so schnelle Antworten <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>rage_qu1t schrieb:</p>
<blockquote>
<p>pack das doch erstmal in eine eigene rekursive funktion... entweder versuchst es zu öffnen gehts ists ein ordner. andernfalls nimmst os-functionen <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>
</blockquote>
<p>meinst ich mach dann <code>opendir(&quot;/&lt;PATHTOFOLDER&gt;&quot;)</code> auf alle gefundenen Elemente? Das hab ich grad so probiert</p>
<pre><code class="language-cpp">if(!opendir(dir-&gt;d_name)) continue;
</code></pre>
<p>aber hat nicht so funktioniert. Ausgabe ist dann nur <code>. ..</code> Oder meinst Du anders??</p>
<p>fr33g schrieb:</p>
<blockquote>
<p>Also mit Linux kenn ich mich leider gar nicht aus, aber unter Windows oder auch Qt gibt es extra Parameter bzw Konstanten die man angeben kann, damit einem nur Ordner angezeigt werden.</p>
</blockquote>
<p>Weißt Du wie das unter WIN und Qt bei Dir funktioniert? Vielleicht kann ich dazu ja äquivalentes finden was auch hier funktioniert... <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>
<p>rage_qu1t schrieb:</p>
<blockquote>
<p>&quot;find&quot; sollte das auch können</p>
</blockquote>
<p>Hast Du dazu vielleicht ein kleines Mini-Beispiel für mich? Wär super <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>DocShoe schrieb:</p>
<blockquote>
<p>Borland bietet mit der VCL die Funktionen FindFirst/FindNext/FindClose, zusammen mit der Klasse TSearchRec kann man alle Einträge eines Verzeichnisses durchlaufen und deren Attribute auswerten.</p>
</blockquote>
<p>Dazu vielleicht auch ein Beispielprogrämmchen zur Hand oder eine Webseite wo ich mal schauen kann? Sitze gerade ehrlich gesagt zum ersten mal an Borland...</p>
<p>Danke <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/1952050</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952050</guid><dc:creator><![CDATA[Mufasa]]></dc:creator><pubDate>Mon, 13 Sep 2010 15:18:44 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Mon, 13 Sep 2010 15:18:09 GMT]]></title><description><![CDATA[<p>Aus der Hüfte geschossen:</p>
<pre><code class="language-cpp">TSearchRec FileRecord;

if( FindFirst( PathName, faAnyFile, FileRecord ) == 0 )
{
   do
   {
      if( FileRecord.Attr &amp; faDirectory )
      {
         // Verzeichnis
      }
      else
      {
         // kein Verzeichnis
      }
   }
   while( FindNext( FileRecord ) == 0 );

   FindClose( FileRecord );
}
</code></pre>
<p>Mit F1 solltest du in das BCB Hilfesystem gelangen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952054</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952054</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Mon, 13 Sep 2010 15:18:09 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Mon, 13 Sep 2010 15:41:29 GMT]]></title><description><![CDATA[<p>DocShoe schrieb:</p>
<blockquote>
<p>Aus der Hüfte geschossen:</p>
<pre><code class="language-cpp">TSearchRec FileRecord;

if( FindFirst( PathName, faAnyFile, FileRecord ) == 0 )
{
   do
   {
      if( FileRecord.Attr &amp; faDirectory )
      {
         // Verzeichnis
      }
      else
      {
         // kein Verzeichnis
      }
   }
   while( FindNext( FileRecord ) == 0 );
 
   FindClose( FileRecord );
}
</code></pre>
</blockquote>
<p>Daraus werd ich jetzt ehrlich gesagt nicht ganz schlau...<br />
Hab das aber auch mal so abgetippt und probiert. Bei If und else mit printf was ausgeben... irgendwie wird das printf erst ausgeführt wenn das Programm beendet wird... ganz komisch!</p>
<p>Also PathName da ist klar, aber was ist das <em>faAnyFile</em>?<br />
Bei der if-Abfrage muss ich nichts mehr ändern, oder?<br />
In <em>FileRecord</em> steht dann der gefundene Dateiname, richtig?<br />
Wenn ich das dann in ein StringArray reinschieben will dann würde ich das so machen <code>Array[index] = FileRecord; index++;</code> was aber leider auch nicht so gewollt hat wie ich wollte... <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="😞"
    /></p>
<blockquote>
<p>Mit F1 solltest du in das BCB Hilfesystem gelangen</p>
</blockquote>
<p>F1 hat hier leider gar keine Funktion... die IDE ist Kylix falls Du das noch kennst.... ganz ekelhaft sag ich Dir <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f621.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--pouting_face"
      title=":rage:"
      alt="😡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952067</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952067</guid><dc:creator><![CDATA[Mufasa]]></dc:creator><pubDate>Mon, 13 Sep 2010 15:41:29 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Mon, 13 Sep 2010 15:42:20 GMT]]></title><description><![CDATA[<p>Also mit der Win-API sah das so ungefähr aus:</p>
<pre><code class="language-cpp">HANDLE fileHandle;
WIN32_FIND_DATA winFindData;

// Die ersten beiden Ergebnisse raussuchen, da diese nicht von Bedeutung sind( /.  und /..  )
fHandle=FindFirstFile( &quot;c:\\programme\\*&quot;,&amp;winFindData ); 
FindNextFile( fileHandle,&amp;winFindData ); 

// Jetzt die eigentliche Suche
while( FindNextFile( fileHandle,&amp;winFindData ) ) 
{ 
    if( winFindData.dwFileAttributes &amp; FILE_ATTRIBUTE_DIRECTORY) 
    { 
       // Ist ein Verzeichnis, man könnte jetzt auch noch rekursiv 
       // Unterverzeichnisse raussuchen.
       // Mit winFindDta.cFileName bekommst den Ordnernamen raus
    } 
    else 
    { 
       // Es ist eine Datei mit winFindData.cFileName bekommt man den Namen
    } 
} 
FindClose( fileHandle );
</code></pre>
<p>Lg freeG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952069</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952069</guid><dc:creator><![CDATA[fr33g]]></dc:creator><pubDate>Mon, 13 Sep 2010 15:42:20 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Tue, 14 Sep 2010 07:17:57 GMT]]></title><description><![CDATA[<p>Bist du mal auf die Idee gekommen, nach den Suchbegriffen &quot;FindFirst&quot; &quot;FindNext&quot; &quot;faAnyFile&quot; und &quot;Kylix&quot; oder &quot;Borland&quot; zu googlen? Bei so wenig Initiative tut´s mir fast schon wieder leid, überhaupt geantwortet zu haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952292</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Tue, 14 Sep 2010 07:17:57 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Wed, 15 Sep 2010 08:19:43 GMT]]></title><description><![CDATA[<p>DocShoe schrieb:</p>
<blockquote>
<p>Bist du mal auf die Idee gekommen, nach den Suchbegriffen &quot;FindFirst&quot; &quot;FindNext&quot; &quot;faAnyFile&quot; und &quot;Kylix&quot; oder &quot;Borland&quot; zu googlen? Bei so wenig Initiative tut´s mir fast schon wieder leid, überhaupt geantwortet zu haben.</p>
</blockquote>
<p>Dieser Vorwurf ist wirklich unverschämt! Dass ich selber Eigenitiative zeige und habe mein Problem zu lösen sieht man zum einen an meinem geposteten Lösungsansatz. Und JA gegoogelt hab ich auch genau diese Begriffe. Allerdings kommt da lauter Delphi und Pascal Zeugs.... faAnyFile ist mir auch klar, dass es sozusagen &quot;alle gefundenen Dateien&quot; bedeutet.... aber TSearchRec und die Suche war mir eben noch ganz neu... daher die Frage ob Du, da Du das ja so gut kennst, auch richtig erklären könntest/würdest. Oder irgendjemand anderes der sich dafür nicht zu schade ist......!<br />
Dazu hab ich folgendes gefunden:<br />
<a href="http://www.delphibasics.co.uk/RTL.asp?Name=TSearchRec" rel="nofollow">http://www.delphibasics.co.uk/RTL.asp?Name=TSearchRec</a><br />
<a href="http://www.programmersheaven.com/mb/bcbuilder/324308/324308/scan-folder/" rel="nofollow">http://www.programmersheaven.com/mb/bcbuilder/324308/324308/scan-folder/</a><br />
Noch immer ist da ein mittelgroßes Fragezeichen.</p>
<p>Das Problem hab ich inzwischen anderweitig lösen können, wobei die jetzige Lösung nicht besonders &quot;schön&quot; ist und auch viel mehr Code hat.... daher besteht auf jeden Fall noch nach wie vor Interesse eine schöne Lösung für dieses Problem zu finden....</p>
<p>Viele Grüße</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952815</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952815</guid><dc:creator><![CDATA[Mufasa]]></dc:creator><pubDate>Wed, 15 Sep 2010 08:19:43 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Wed, 15 Sep 2010 08:46:58 GMT]]></title><description><![CDATA[<pre><code>find . -maxdepth 1 -type d
</code></pre>
<p>sollte da doch echt am einfachsten sein.<br />
Du kannst das ganze ja in eine Datei pipen und dann die Datei lesen. Dann hast du nicht son Problem wie hier.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952825</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Wed, 15 Sep 2010 08:46:58 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Wed, 15 Sep 2010 09:12:53 GMT]]></title><description><![CDATA[<p>Maxi schrieb:</p>
<blockquote>
<pre><code>find . -maxdepth 1 -type d
</code></pre>
<p>sollte da doch echt am einfachsten sein.<br />
Du kannst das ganze ja in eine Datei pipen und dann die Datei lesen. Dann hast du nicht son Problem wie hier.</p>
</blockquote>
<p>möglicherweise auch direkt in das verarbeitende programm pipen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952839</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952839</guid><dc:creator><![CDATA[rage_qu1t]]></dc:creator><pubDate>Wed, 15 Sep 2010 09:12:53 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Wed, 15 Sep 2010 09:32:12 GMT]]></title><description><![CDATA[<p>rage_qu1t schrieb:</p>
<blockquote>
<p>Maxi schrieb:</p>
<blockquote>
<pre><code>find . -maxdepth 1 -type d
</code></pre>
<p>sollte da doch echt am einfachsten sein.<br />
Du kannst das ganze ja in eine Datei pipen und dann die Datei lesen. Dann hast du nicht son Problem wie hier.</p>
</blockquote>
<p>möglicherweise auch direkt in das verarbeitende programm pipen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f60b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_savoring_food"
      title=":yum:"
      alt="😋"
    /></p>
</blockquote>
<p>hmmm das ist eigentlich gar nicht mal so ne üble Idee <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> da kam ich auch noch nicht drauf.... allerdings in eine Datei pipen tut jetzt zu meiner Lösung auch keinen großen Unterschied in Code-Size weil ich da dann die Datei öffnen, lesen, und so alles noch hab....<br />
aber direkt ins Programm..... geht das denn überhaupt?? Hab ich so jetzt noch nie gesehen/gehört....</p>
<p>aber eine direkte <em>schöne</em> Lösung im Programm selbst wäre schon trotzdem das Optimale....</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952845</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952845</guid><dc:creator><![CDATA[Mufasa]]></dc:creator><pubDate>Wed, 15 Sep 2010 09:32:12 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Wed, 15 Sep 2010 09:55:48 GMT]]></title><description><![CDATA[<p>Mufasa schrieb:</p>
<blockquote>
<p>DocShoe schrieb:</p>
<blockquote>
<p>Bist du mal auf die Idee gekommen, nach den Suchbegriffen &quot;FindFirst&quot; &quot;FindNext&quot; &quot;faAnyFile&quot; und &quot;Kylix&quot; oder &quot;Borland&quot; zu googlen? Bei so wenig Initiative tut´s mir fast schon wieder leid, überhaupt geantwortet zu haben.</p>
</blockquote>
<p>Dieser Vorwurf ist wirklich unverschämt! Dass ich selber Eigenitiative zeige und habe mein Problem zu lösen sieht man zum einen an meinem geposteten Lösungsansatz. Und JA gegoogelt hab ich auch genau diese Begriffe. Allerdings kommt da lauter Delphi und Pascal Zeugs.... faAnyFile ist mir auch klar, dass es sozusagen &quot;alle gefundenen Dateien&quot; bedeutet.... aber TSearchRec und die Suche war mir eben noch ganz neu... daher die Frage ob Du, da Du das ja so gut kennst, auch richtig erklären könntest/würdest. Oder irgendjemand anderes der sich dafür nicht zu schade ist......!<br />
Dazu hab ich folgendes gefunden:<br />
<a href="http://www.delphibasics.co.uk/RTL.asp?Name=TSearchRec" rel="nofollow">http://www.delphibasics.co.uk/RTL.asp?Name=TSearchRec</a><br />
<a href="http://www.programmersheaven.com/mb/bcbuilder/324308/324308/scan-folder/" rel="nofollow">http://www.programmersheaven.com/mb/bcbuilder/324308/324308/scan-folder/</a><br />
Noch immer ist da ein mittelgroßes Fragezeichen.</p>
<p>Das Problem hab ich inzwischen anderweitig lösen können, wobei die jetzige Lösung nicht besonders &quot;schön&quot; ist und auch viel mehr Code hat.... daher besteht auf jeden Fall noch nach wie vor Interesse eine schöne Lösung für dieses Problem zu finden....</p>
<p>Viele Grüße</p>
</blockquote>
<p>In letzter Zeit tauchen hier im Forum wirklich allertrivialste Fragen auf, bei denen der Threadersteller wenig/bis keine Eigeninitiative zeigt und alles vorgekaut serviert bekommen möchte. Wenn man nach TSearchRec googelt bekommt man schon beim zweiten Treffer eine Aufschlüsselung der TSearchRec Eigenschaften (und sogar deren Eigenheiten und Unix/Linux), daher finde ich die Frage, was ein TSearchRec und seine Eigenschaften denn eigentlich sind unverschämt. Wenn ich mich hinsetzen kann und mir die Zeit nehme ein Codebeispiel zu posten, dann solltest du dir auch die Zeit nehmen, das durchzuarbeiten und eigene Recherchen bei Unklarheiten anzustellen.<br />
Gerade bei unbekannten APIs gehört eine gewisse Einarbeitungszeit dazu, und es kann auch nicht schaden, ein kleines Testprogramm zu schreiben, um sich unklare Details anzugucken.<br />
Mir ist meine Zeit nicht zu schade, anderen Leuten zu helfen, nur irgendwann ist Schluss mit der Hilfsbereitschaft.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952852</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Wed, 15 Sep 2010 09:55:48 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Wed, 15 Sep 2010 10:11:46 GMT]]></title><description><![CDATA[<p>Mufasa schrieb:</p>
<blockquote>
<p>Hallo allerseits,</p>
<p>ich muss für ein Programm alle Unterverzeichnisse in einem Ordner ausgeben. Das ganze läuft unter Linux (ganz altes Knoppix) und Compiler ist Borland. (Ich weiß was Ihr jetzt denkt.... ist leider nicht zu ändern... <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="😞"
    /> )</p>
<p>Also mein Programm bisher gibt mir alles in dem Ordner aus. Also Verzeichnisse aber auch normale Dateien.</p>
<pre><code class="language-cli">#include &lt;dirent.h&gt; 
#include &lt;stdio.h&gt; 

int main(void)
{
  DIR           *d;
  struct dirent *dir;
  d = opendir(&quot;/&lt;PATHTOFOLDER&gt;&quot;);
  if (d)
  {
    while ((dir = readdir(d)) != NULL)
    {
      printf(&quot;%s\n&quot;, dir-&gt;d_name);
    }

    closedir(d);
  }

  return(0);
}
</code></pre>
<p>Problem ist, dass die Ordner keine besonderen Merkmale haben, dass ich das damit selektieren könnte. Und manche Dateien haben auch keinen Punkt bzw. Endung... also nach &quot;.&quot; suchen geht auch nicht...</p>
<p>Gibt es einen Weg speziell nur die Ordner auszugeben? Oder irgendein anderer Vorschlag?<br />
Auch wenn Ihr sowas vielleicht schon mal auf anderen Systemen gemacht habt... würde mich über Info sehr freuen. Vielleicht kann man das ja für Linux/Borland dann anpassen...</p>
<p>Danke schon mal im Voraus <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
</blockquote>
<p>So sollte es ohne VCL funktionieren...</p>
<pre><code class="language-cpp">#include &lt;dirent.h&gt; 
#include &lt;stdio.h&gt; 

int main(void)
{
  DIR           *d;
  struct dirent *dir;
  d = opendir(&quot;/&lt;PATHTOFOLDER&gt;&quot;);
  if (d)
  {
    while ((dir = readdir(d)) != NULL)
    {
      switch(dir-&gt;d_type) 
      {
      case DT_DIR:
        printf(&quot;%s\n&quot;, dir-&gt;d_name);
        break;
      default:
        break;
      }
    }

    closedir(d);
  }

  return(0);
}
</code></pre>
<p>Siehe dazu auch <a href="http://www.gnu.org/s/libc/manual/html_node/Directory-Entries.html" rel="nofollow">hier</a></p>
<p>Greets</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952860</guid><dc:creator><![CDATA[Tobias Gerg]]></dc:creator><pubDate>Wed, 15 Sep 2010 10:11:46 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Wed, 15 Sep 2010 10:40:16 GMT]]></title><description><![CDATA[<p>Mufasa schrieb:</p>
<blockquote>
<p>Maxi schrieb:</p>
<blockquote>
<pre><code>find . -maxdepth 1 -type d
</code></pre>
<p>sollte da doch echt am einfachsten sein.<br />
Du kannst das ganze ja in eine Datei pipen und dann die Datei lesen. Dann hast du nicht son Problem wie hier.</p>
</blockquote>
<p>hmmm das ist eigentlich gar nicht mal so ne üble Idee <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /> da kam ich auch noch nicht drauf.... allerdings in eine Datei pipen tut jetzt zu meiner Lösung auch keinen großen Unterschied in Code-Size weil ich da dann die Datei öffnen, lesen, und so alles noch hab....</p>
</blockquote>
<p>Datei öffnen und einlesen ist ein 3zeiler <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>
<pre><code class="language-cpp">std::vector&lt;std::string&gt; dirs;
std::ifstream inf(&quot;datei.txt&quot;);
std::string fn;
while(std::getline(inf, fn))
  dirs.push_back(fn);
</code></pre>
<p>Und auf die Lösung von Tobias hätte man auch alleine kommen können <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/1952875</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952875</guid><dc:creator><![CDATA[Maxi]]></dc:creator><pubDate>Wed, 15 Sep 2010 10:40:16 GMT</pubDate></item><item><title><![CDATA[Reply to [ERLEDIGT!] Alle Ordnernamen in Verzeichnis ausgeben on Wed, 15 Sep 2010 10:49:36 GMT]]></title><description><![CDATA[<p>Tobias Gerg schrieb:</p>
<blockquote>
<p>So sollte es ohne VCL funktionieren...</p>
<pre><code class="language-cpp">#include &lt;dirent.h&gt; 
#include &lt;stdio.h&gt; 

int main(void)
{
  DIR           *d;
  struct dirent *dir;
  d = opendir(&quot;/&lt;PATHTOFOLDER&gt;&quot;);
  if (d)
  {
    while ((dir = readdir(d)) != NULL)
    {
      switch(dir-&gt;d_type) 
      {
      case DT_DIR:
        printf(&quot;%s\n&quot;, dir-&gt;d_name);
        break;
      default:
        break;
      }
    }

    closedir(d);
  }

  return(0);
}
</code></pre>
<p>Siehe dazu auch <a href="http://www.gnu.org/s/libc/manual/html_node/Directory-Entries.html" rel="nofollow">hier</a></p>
<p>Greets</p>
</blockquote>
<p>YESSS! That's it! Genauuuu so sollte es sein, DANKE SCHÖN <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1952885</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1952885</guid><dc:creator><![CDATA[Mufasa]]></dc:creator><pubDate>Wed, 15 Sep 2010 10:49:36 GMT</pubDate></item></channel></rss>