<?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[Nur files im Directory listen]]></title><description><![CDATA[<p>Hallo,<br />
ich suche nach einer Möglichkeit, nur die Dateien in einem Ordner aufzulisten. Für mich selbst habe ich eine etwas umständliche Lösung gefunden, es geht aber bestimmt besser?</p>
<pre><code class="language-cpp">namespace fs = std::filesystem;

void reverseString(std::string&amp; str)
{
	auto first = str.begin();
	auto last = str.end();
	while ((first != last) &amp;&amp; (first != --last))
	{
		std::iter_swap(first, last);
		++first;
	}
}

std::string untilSlash(const std::string&amp; str)
{
	std::string cl_str;
	for (auto ch : str)
	{
		if (ch != '/')
		{
			cl_str.push_back(ch);
		}
		else
		{
			break;
		}
	}
	return cl_str;
}

std::string getLastSeq(std::string&amp; str)
{
	reverseString(str);
	std::string nstr = untilSlash(str);
	reverseString(nstr);
	return nstr;
}

int main()
{
	std::string path = &quot;.../&quot;;
	std::cout &lt;&lt; path &lt;&lt; '\n';
	fs::path p = path;
	for (const auto&amp; p : fs::directory_iterator(p))
	{
		std::string p_str = p.path().u8string();
		std::cout &lt;&lt; getLastSeq(p_str) &lt;&lt; '\n';
	}
	
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/350708/nur-files-im-directory-listen</link><generator>RSS for Node</generator><lastBuildDate>Mon, 07 Sep 2026 15:54:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/350708.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 29 Jan 2020 22:10:50 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Nur files im Directory listen on Wed, 29 Jan 2020 22:10:50 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich suche nach einer Möglichkeit, nur die Dateien in einem Ordner aufzulisten. Für mich selbst habe ich eine etwas umständliche Lösung gefunden, es geht aber bestimmt besser?</p>
<pre><code class="language-cpp">namespace fs = std::filesystem;

void reverseString(std::string&amp; str)
{
	auto first = str.begin();
	auto last = str.end();
	while ((first != last) &amp;&amp; (first != --last))
	{
		std::iter_swap(first, last);
		++first;
	}
}

std::string untilSlash(const std::string&amp; str)
{
	std::string cl_str;
	for (auto ch : str)
	{
		if (ch != '/')
		{
			cl_str.push_back(ch);
		}
		else
		{
			break;
		}
	}
	return cl_str;
}

std::string getLastSeq(std::string&amp; str)
{
	reverseString(str);
	std::string nstr = untilSlash(str);
	reverseString(nstr);
	return nstr;
}

int main()
{
	std::string path = &quot;.../&quot;;
	std::cout &lt;&lt; path &lt;&lt; '\n';
	fs::path p = path;
	for (const auto&amp; p : fs::directory_iterator(p))
	{
		std::string p_str = p.path().u8string();
		std::cout &lt;&lt; getLastSeq(p_str) &lt;&lt; '\n';
	}
	
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2585680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2585680</guid><dc:creator><![CDATA[zeropage]]></dc:creator><pubDate>Wed, 29 Jan 2020 22:10:50 GMT</pubDate></item><item><title><![CDATA[Reply to Nur files im Directory listen on Wed, 29 Jan 2020 22:31:16 GMT]]></title><description><![CDATA[<p>Meinst du</p>
<pre><code>int main()
{
	std::string path = &quot;.../&quot;;
	std::cout &lt;&lt; path &lt;&lt; '\n';
	fs::path p = path;
	for (const auto&amp; e : fs::directory_iterator(p))
		std::cout &lt;&lt; e.path().filename() &lt;&lt; '\n';
}
</code></pre>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2585681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2585681</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 29 Jan 2020 22:31:16 GMT</pubDate></item><item><title><![CDATA[Reply to Nur files im Directory listen on Wed, 29 Jan 2020 22:35:38 GMT]]></title><description><![CDATA[<p>Oder willst du wissen wie man das selbst einfacher programmieren kann als 2x den String zu reversen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2585682</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2585682</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 29 Jan 2020 22:35:38 GMT</pubDate></item><item><title><![CDATA[Reply to Nur files im Directory listen on Wed, 29 Jan 2020 22:36:47 GMT]]></title><description><![CDATA[<p>Öh, ja. 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>
<p>Ich habe wirklich vorher gesucht, ellenlange Stackoverflow-Threads. Klasse, das das wieder so einfach geht.</p>
<p>EDIT: Nö, nö, ich habe nur nach einer einfacheren Lösung gesucht, also Deine Antwort.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2585683</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2585683</guid><dc:creator><![CDATA[zeropage]]></dc:creator><pubDate>Wed, 29 Jan 2020 22:36:47 GMT</pubDate></item><item><title><![CDATA[Reply to Nur files im Directory listen on Wed, 29 Jan 2020 22:39:19 GMT]]></title><description><![CDATA[<p>OK, dann erklär ich dir noch wie du das selbst findest.</p>
<ol>
<li>Google nach &quot;fs::directory_iterator&quot;<br />
Erstes Ergebnis: <a href="https://en.cppreference.com/w/cpp/filesystem/directory_iterator" rel="nofollow">https://en.cppreference.com/w/cpp/filesystem/directory_iterator</a></li>
<li>Da findest du dass der Iterator diese Teile da ausspuckt: <a href="https://en.cppreference.com/w/cpp/filesystem/directory_entry" rel="nofollow">https://en.cppreference.com/w/cpp/filesystem/directory_entry</a></li>
<li>Dort wiederrum findest du die Memberfunktio &quot;path&quot;: <a href="https://en.cppreference.com/w/cpp/filesystem/directory_entry/path" rel="nofollow">https://en.cppreference.com/w/cpp/filesystem/directory_entry/path</a></li>
<li>Dort siehst du dann dass die ein <code>std::filesystem::path</code> Objekt zurückgibt + Link zur Doku darüber: <a href="https://en.cppreference.com/w/cpp/filesystem/path" rel="nofollow">https://en.cppreference.com/w/cpp/filesystem/path</a></li>
<li>Jetzt siehst du alle Memberfunktionen, und dass diese <code>path</code> Teile eine <code>filename</code> Memberfunktion haben.</li>
<li>Tadaa, Bob ist dein Onkel</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/2585684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2585684</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 29 Jan 2020 22:39:19 GMT</pubDate></item><item><title><![CDATA[Reply to Nur files im Directory listen on Wed, 29 Jan 2020 22:42:30 GMT]]></title><description><![CDATA[<p>Alles klar, danke. Auch suchen will gelernt sein. Das wird mir bestimmt bei der nächsten Suche helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2585685</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2585685</guid><dc:creator><![CDATA[zeropage]]></dc:creator><pubDate>Wed, 29 Jan 2020 22:42:30 GMT</pubDate></item><item><title><![CDATA[Reply to Nur files im Directory listen on Wed, 29 Jan 2020 23:45:50 GMT]]></title><description><![CDATA[<p>ps: Eigentlich wäre &quot;filesystem::directory_iterator&quot; der bessere Suchbegriff, weil der Namespace halt in in echt &quot;filesystem&quot; heisst. &quot;fs&quot; ist nur ein Alias der in vielen Beispielen verwendet wird. Bei mir hats aber auch mit &quot;fs&quot; funktioniert. Und Googeln natürlich ohne die &quot;&quot;. Mit den &quot;&quot; müsste der Match exakt sein, d.h. Google stellt sich doof weil man ihm ja quasi verboten hat den Suchbegriff etwas freier zu interpretieren.</p>
<p>Und natürlich, bei diesem speziellen Beispiel, wenn du z.B. eh schon weisst was du bei <code>e.path()</code> zurückbekommst... fängst du logischerweise mit dem Suchbegriff &quot;std::filesystem::path&quot; an.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2585686</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2585686</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Wed, 29 Jan 2020 23:45:50 GMT</pubDate></item><item><title><![CDATA[Reply to Nur files im Directory listen on Thu, 30 Jan 2020 01:05:25 GMT]]></title><description><![CDATA[<p>Ja, ich habe aber das Prinzip verstanden, sich durch die reference zu hangeln, bis man zum gesuchten kommt. Habe ich in einigen Fällen sogar schon ähnlich gemacht. Warum das nun bei dem simplen path().filename() nicht geklappt hat? Wahrscheinlich weil bei der ersten Suche ins Blaue so gar kein Ergebnis gekommen ist. Ich konnte mir aber auch nicht richtig vorstellen, das es das nicht gibt.</p>
<p>Wenn ich nochmal suchen müsste, würde ich es, wie Onkel Bob vorgeschlagen hat, so machen <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/2585687</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2585687</guid><dc:creator><![CDATA[zeropage]]></dc:creator><pubDate>Thu, 30 Jan 2020 01:05:25 GMT</pubDate></item></channel></rss>