<?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[Ordnerinhalt in String sammeln und ausgeben. Problem]]></title><description><![CDATA[<p>Hey Leute.</p>
<p>Ich habe mal n bisschen angefangen zu Coden und habe mich mal an was einfachem versucht. Nun Ich möchte gerne den Ordnerinalt in einen String schreiben und danach ausgeben lassen.<br />
Ich habe hier jenste Probleme drin, wie z.B. dass ich den String nicht in eine Funktion einbinden kann.<br />
Hat wer ne Idee? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Bitte habt etwas Nachsicht mit mir, da ich ein absoluter Anfänge bin.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 
#include &lt;cstdio&gt; 
#include &lt;sys/types.h&gt; 
#include &lt;dirent.h&gt; 
#include &lt;string&gt; 
using namespace std;

int main() 
{ 
    DIR           *dirHandle; 
    struct dirent *dirEntry; 
    string ordner(&quot;C:\\&quot;);
	string ausgabe;
    //Einen Ordner öffnen 
    dirHandle = opendir(ordner); 

    //Konnte der Ordner geöffnet werden? 
    if ( dirHandle != NULL ) 
    { 
        //Alle Ordner/Dateien auslesen 
        while ( 0 != ( dirEntry = readdir( dirHandle ) ) ) 
        { 
            ausgabe = (ausgabe + dirEntry-&gt;d_name + &quot;|&quot; ); 
        } 

        //Den Ordner schliessen 
        closedir( dirHandle ); 
    } 

    std::cin.get(); 
    return (ausgabe); 
}
</code></pre>
<p>Gruss: Sonic</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/309346/ordnerinhalt-in-string-sammeln-und-ausgeben-problem</link><generator>RSS for Node</generator><lastBuildDate>Wed, 05 Aug 2026 06:37:00 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/309346.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 20 Oct 2012 18:38:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Ordnerinhalt in String sammeln und ausgeben. Problem on Sat, 20 Oct 2012 18:38:40 GMT]]></title><description><![CDATA[<p>Hey Leute.</p>
<p>Ich habe mal n bisschen angefangen zu Coden und habe mich mal an was einfachem versucht. Nun Ich möchte gerne den Ordnerinalt in einen String schreiben und danach ausgeben lassen.<br />
Ich habe hier jenste Probleme drin, wie z.B. dass ich den String nicht in eine Funktion einbinden kann.<br />
Hat wer ne Idee? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Bitte habt etwas Nachsicht mit mir, da ich ein absoluter Anfänge bin.</p>
<pre><code class="language-cpp">#include &lt;iostream&gt; 
#include &lt;cstdio&gt; 
#include &lt;sys/types.h&gt; 
#include &lt;dirent.h&gt; 
#include &lt;string&gt; 
using namespace std;

int main() 
{ 
    DIR           *dirHandle; 
    struct dirent *dirEntry; 
    string ordner(&quot;C:\\&quot;);
	string ausgabe;
    //Einen Ordner öffnen 
    dirHandle = opendir(ordner); 

    //Konnte der Ordner geöffnet werden? 
    if ( dirHandle != NULL ) 
    { 
        //Alle Ordner/Dateien auslesen 
        while ( 0 != ( dirEntry = readdir( dirHandle ) ) ) 
        { 
            ausgabe = (ausgabe + dirEntry-&gt;d_name + &quot;|&quot; ); 
        } 

        //Den Ordner schliessen 
        closedir( dirHandle ); 
    } 

    std::cin.get(); 
    return (ausgabe); 
}
</code></pre>
<p>Gruss: Sonic</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262373</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262373</guid><dc:creator><![CDATA[Sonic Hedgehog]]></dc:creator><pubDate>Sat, 20 Oct 2012 18:38:40 GMT</pubDate></item><item><title><![CDATA[Reply to Ordnerinhalt in String sammeln und ausgeben. Problem on Sun, 21 Oct 2012 07:06:14 GMT]]></title><description><![CDATA[<p>Ordnerinhalt auslesen ist nichts, was einfach ist. Du musst schon auf Betriebssystem-Spezifische Sachen zurueckgreifen.<br />
Und in Zukunft gib bei Fragen bitte exakte Fehlermeldungen mit an. So machst du es uns viel leichter dir zu helfen (ich vermute mal irgendwas a la 'std::string kannn nicht in const char* konvertiert werden').</p>
<p>Zum eigentlichen Problem: Ich kenn die Funktionen nicht, eben weil sie kein Standard-C++ sind, aber wenn ich mich nicht taeusche duerfte es sich dabei um POSIX handeln. Und das wiederum braucht C-Strings (also Zeiger auf Nullterminierte Character-Ketten im Speicher), wenn mich nicht alles taeuscht.</p>
<p>Um <code>std::string</code> in einen C-String &quot;umzuwandeln&quot; (genauer: einen Zeiger auf den dem String zu Grunde liegenden Inhalt zu bekommen) benutzt man die Methode <code>c_str();</code> :</p>
<pre><code class="language-cpp">//...
std::string ordner(&quot;C:\\&quot;);
//...
opendir(ordner.c_str());
</code></pre>
<p>Wobei du dir hier die Variable komplett sparen koenntest und dierekt</p>
<pre><code class="language-cpp">opendir(&quot;C:\\&quot;);
</code></pre>
<p>benutzen koenntest.</p>
<p>Nebenbei: Ich weiss nicht, welchen Compiler du verwendest, aber es ist moeglich, dass das Programm unter Windows nicht laeuft, weil Windows kein POSIX-System ist. Es gibt zwar Loesungen, die POSIX emulieren, aber eigentlich benutzt man unter Windows das WinAPI.</p>
<p>Und noch was: Mit welchem schlechten Buch lernst du, dass du alle Variablen am Anfang der Funktion definierst. In C++ tut man das gewoehnlich erst dann, wenn man die Variable braucht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262416</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262416</guid><dc:creator><![CDATA[Jonas OSDever]]></dc:creator><pubDate>Sun, 21 Oct 2012 07:06:14 GMT</pubDate></item><item><title><![CDATA[Reply to Ordnerinhalt in String sammeln und ausgeben. Problem on Sun, 21 Oct 2012 11:35:51 GMT]]></title><description><![CDATA[<p>Wieso nimmst du nicht einfach <code>boost::filesystem</code> ?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2262480</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2262480</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Sun, 21 Oct 2012 11:35:51 GMT</pubDate></item></channel></rss>