<?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[Datei Pfade]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich lerne seit zwei Wochen C++. Meine Idee ist das ich mir die Pfade von Dateien in einem Ordner ausgeben lasse.<br />
Nun habe ich mir aus Code Stücken, welche ich im Internet gefunden habe etwas zusammen gebastelt. Das funktioniert auch soweit nur bekomme ich nur die Namen der Dateien ausgegeben und auch nur die,die im Hauptordner sind. Die Dateien in den Unterordner werden eicht beachtet. Ich habe schon hier im Forum gesucht aber nichts passendes gefunden. Ich hoffe ihr könnt mir helfen.</p>
<pre><code>#include &lt;sys/types.h&gt;
#include &lt;dirent.h&gt;
#include &lt;errno.h&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;iostream&gt;

using namespace std;

int getdir (string file, vector&lt;string&gt; &amp;files)
{
    DIR *dp;
    struct dirent *dirp;

	if((dp  = opendir(file.c_str())) == NULL) {
        cout &lt;&lt; &quot;Error(&quot; &lt;&lt; errno &lt;&lt; &quot;) opening &quot; &lt;&lt; file &lt;&lt; endl;
        return errno;
    }

    while ((dirp = readdir(dp)) != NULL) {
        files.push_back(string(dirp-&gt;d_name));
    }
    closedir(dp);
    return 0;
}

int main()
{

	string file = string(&quot;.&quot;);
    vector&lt;string&gt; files = vector&lt;string&gt;();

    getdir(file,files);

    for (unsigned int i = 0;i &lt; files.size();i++) {
        cout &lt;&lt; files[i] &lt;&lt; endl;

	}
system(&quot;PAUSE&quot;);

return 0;

}
</code></pre>
<p>MFG</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/325781/datei-pfade</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 21:52:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/325781.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 17 May 2014 18:37:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datei Pfade on Sat, 17 May 2014 18:37:36 GMT]]></title><description><![CDATA[<p>Hallo</p>
<p>Ich lerne seit zwei Wochen C++. Meine Idee ist das ich mir die Pfade von Dateien in einem Ordner ausgeben lasse.<br />
Nun habe ich mir aus Code Stücken, welche ich im Internet gefunden habe etwas zusammen gebastelt. Das funktioniert auch soweit nur bekomme ich nur die Namen der Dateien ausgegeben und auch nur die,die im Hauptordner sind. Die Dateien in den Unterordner werden eicht beachtet. Ich habe schon hier im Forum gesucht aber nichts passendes gefunden. Ich hoffe ihr könnt mir helfen.</p>
<pre><code>#include &lt;sys/types.h&gt;
#include &lt;dirent.h&gt;
#include &lt;errno.h&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;iostream&gt;

using namespace std;

int getdir (string file, vector&lt;string&gt; &amp;files)
{
    DIR *dp;
    struct dirent *dirp;

	if((dp  = opendir(file.c_str())) == NULL) {
        cout &lt;&lt; &quot;Error(&quot; &lt;&lt; errno &lt;&lt; &quot;) opening &quot; &lt;&lt; file &lt;&lt; endl;
        return errno;
    }

    while ((dirp = readdir(dp)) != NULL) {
        files.push_back(string(dirp-&gt;d_name));
    }
    closedir(dp);
    return 0;
}

int main()
{

	string file = string(&quot;.&quot;);
    vector&lt;string&gt; files = vector&lt;string&gt;();

    getdir(file,files);

    for (unsigned int i = 0;i &lt; files.size();i++) {
        cout &lt;&lt; files[i] &lt;&lt; endl;

	}
system(&quot;PAUSE&quot;);

return 0;

}
</code></pre>
<p>MFG</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2399652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2399652</guid><dc:creator><![CDATA[xxMAXxx]]></dc:creator><pubDate>Sat, 17 May 2014 18:37:36 GMT</pubDate></item><item><title><![CDATA[Reply to Datei Pfade on Sat, 17 May 2014 19:00:22 GMT]]></title><description><![CDATA[<p>Schau dir mal Boost.Filesystem an.<br />
Besonders <a href="http://www.boost.org/doc/libs/1_55_0b1/libs/filesystem/doc/reference.html#Class-directory_iterator" rel="nofollow">directory_iterator</a> ist für dich interessant.</p>
<p>Edit: Und dieses Tutorial: <a href="http://www.boost.org/doc/libs/1_55_0b1/libs/filesystem/doc/tutorial.html#Directory-iteration" rel="nofollow">http://www.boost.org/doc/libs/1_55_0b1/libs/filesystem/doc/tutorial.html#Directory-iteration</a></p>
<p>Edit2: Um das allerdings bis in alle Ebenen fortzuführen, brauchst du so etwas in der Art:</p>
<pre><code>stack directories;
directory.push(start);
while (!directories.empty())
{
	cur = directories.top();
	directories.pop();
	while (curdateien_verfuegbar)
	{
		hole_naechste_datei();
		if (!cur.ist_directory)
			print_name();
		else
			directories.push(dieses_verzeichnis);
	}
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2399661</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2399661</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sat, 17 May 2014 19:00:22 GMT</pubDate></item><item><title><![CDATA[Reply to Datei Pfade on Sat, 17 May 2014 18:56:59 GMT]]></title><description><![CDATA[<p>Das ist so direkt gesehen erst einmal eine Frage zu POSIX-Systemprogrammierung. Wenn du das weiter verfolgen möchtest, dann kann ich den Thread in das entsprechende Unterforum verschieben.</p>
<p>Es gibt aber für C++ die populäre und weit verbreitete Bibliothekssammlung &quot;Boost&quot;. Die hat auch einen Teil, mit dem Dateisystemaufgaben plattformunabhängig und mittels modernem C++ gelöst werden können. Modernes, idiomatisches C++ ist für Anfänger vielleicht nicht das allerverständlichste, aber es ist vermutlich besser, als sich mit der POSIX C-Schnittstelle herum zu schlagen. Ich empfehle, das mal anzugzusehen:<br />
<a href="http://www.boost.org/doc/libs/1_55_0b1/libs/filesystem/doc/index.htm" rel="nofollow">http://www.boost.org/doc/libs/1_55_0b1/libs/filesystem/doc/index.htm</a></p>
<p>edit: Da war Nathan schneller als ich.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2399662</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2399662</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Sat, 17 May 2014 18:56:59 GMT</pubDate></item><item><title><![CDATA[Reply to Datei Pfade on Sat, 17 May 2014 19:46:07 GMT]]></title><description><![CDATA[<p>Spinn ich jetzt? Da war doch noch ein Beitrag?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2399671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2399671</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sat, 17 May 2014 19:46:07 GMT</pubDate></item><item><title><![CDATA[Reply to Datei Pfade on Sat, 17 May 2014 20:10:55 GMT]]></title><description><![CDATA[<p>Nathan schrieb:</p>
<blockquote>
<p>Spinn ich jetzt? Da war doch noch ein Beitrag?!</p>
</blockquote>
<p>Einen mit Unfug drin? Da waren sogar zwei, aber das konnte ich beheben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2399672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2399672</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Sat, 17 May 2014 20:10:55 GMT</pubDate></item><item><title><![CDATA[Reply to Datei Pfade on Sun, 18 May 2014 14:58:38 GMT]]></title><description><![CDATA[<p>Ist es normal das die Installation von boost nach 2 Stunden immer noch nicht fertig ist? Ich habe es wie in dem Video gemacht.<br />
<a href="https://www.youtube.com/watch?v=6trC5zVXzG0" rel="nofollow">https://www.youtube.com/watch?v=6trC5zVXzG0</a> Das was in dem Video bei 5.40 anfängt läuft bei mir schon seit 2 Stunden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2399744</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2399744</guid><dc:creator><![CDATA[xxMAXxx]]></dc:creator><pubDate>Sun, 18 May 2014 14:58:38 GMT</pubDate></item><item><title><![CDATA[Reply to Datei Pfade on Sun, 18 May 2014 15:53:12 GMT]]></title><description><![CDATA[<p>Also bei mir hat das letzten Frühling (als ich das das letzte Mal gemacht hab) auch mehrere Stunden gedauert...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2399755</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2399755</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sun, 18 May 2014 15:53:12 GMT</pubDate></item><item><title><![CDATA[Reply to Datei Pfade on Sun, 18 May 2014 20:22:27 GMT]]></title><description><![CDATA[<p>xxMAXxx schrieb:</p>
<blockquote>
<p>Ich lerne seit zwei Wochen C++. [...] Nun habe ich mir aus Code Stücken, welche ich im Internet gefunden habe etwas zusammen gebastelt.</p>
</blockquote>
<p>Ganz schlechte Idee! Tu Dir einen Gefallen, und lerne C++ <strong>richtig</strong>. Mit Code Schnippsel aus dem Netz zusammenbasteln lernt man kein C++. Echt jetzt. Ohne Scheiß. Ist kein Vorwurf, nur ein Tipp. Musste mal (wieder) gesagt werden. <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>xxMAXxx schrieb:</p>
<blockquote>
<p>Das funktioniert auch soweit nur bekomme ich nur die Namen der Dateien ausgegeben und auch nur die,die im Hauptordner sind. Die Dateien in den Unterordner werden eicht beachtet.</p>
</blockquote>
<p>Das ist normal so. Wenn Du wissen willst, was in den Unterordnern so drin ist, brauchst Du irgendwo 'nen rekursiven Aufrufe. Geht sicher auch ohne, aber Rekursion liegt nahe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2399803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2399803</guid><dc:creator><![CDATA[kkaw]]></dc:creator><pubDate>Sun, 18 May 2014 20:22:27 GMT</pubDate></item></channel></rss>