<?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] mkdir() erstellt unerklärliche Ordnernamen]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>mein Programm soll mehrere Ordner erstellen und der Ordnername soll hierbei dynamisch generiert werden. z.B.:<br />
<em>/bla/23-11-15test1<br />
/bla/23-11-15test2<br />
/bla/23-11-15test3</em></p>
<p>Falls schon 3 Ordner vorhanden sind, soll der nächste erstellte Ordner mit einer 4 enden. Mein Code dazu sieht wie folgt aus.</p>
<pre><code>string ordnerPfad = &quot;/bla/&quot; + zeit.getDatum() + &quot;test&quot; + ordnerAnzahl();
cout &lt;&lt; ordnerPfad &lt;&lt; endl;
mkdir(ordnerPfad.c_str(), 0777);
</code></pre>
<p>Wenn ich das Programm ausführe, gibt mir cout stets den gewünschten Ordnerpfad an, jedoch werden andere Ordnernamen erstellt, die alle eine Fragezeichen hinten am Namen angehängt haben.<br />
<em>/bla/23-11-15test1?<br />
/bla/23-11-15test2?<br />
/bla/23-11-15test3?</em></p>
<p>Könnt ihr mir weiterhelfen? Ich nutze Linux und Code::Blocks.<br />
Danke schonmal im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/335501/erledigt-mkdir-erstellt-unerklärliche-ordnernamen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 24 Apr 2026 23:42:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/335501.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 23 Nov 2015 21:25:03 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to [Erledigt] mkdir() erstellt unerklärliche Ordnernamen on Mon, 23 Nov 2015 22:30:00 GMT]]></title><description><![CDATA[<p>Hallo Leute,</p>
<p>mein Programm soll mehrere Ordner erstellen und der Ordnername soll hierbei dynamisch generiert werden. z.B.:<br />
<em>/bla/23-11-15test1<br />
/bla/23-11-15test2<br />
/bla/23-11-15test3</em></p>
<p>Falls schon 3 Ordner vorhanden sind, soll der nächste erstellte Ordner mit einer 4 enden. Mein Code dazu sieht wie folgt aus.</p>
<pre><code>string ordnerPfad = &quot;/bla/&quot; + zeit.getDatum() + &quot;test&quot; + ordnerAnzahl();
cout &lt;&lt; ordnerPfad &lt;&lt; endl;
mkdir(ordnerPfad.c_str(), 0777);
</code></pre>
<p>Wenn ich das Programm ausführe, gibt mir cout stets den gewünschten Ordnerpfad an, jedoch werden andere Ordnernamen erstellt, die alle eine Fragezeichen hinten am Namen angehängt haben.<br />
<em>/bla/23-11-15test1?<br />
/bla/23-11-15test2?<br />
/bla/23-11-15test3?</em></p>
<p>Könnt ihr mir weiterhelfen? Ich nutze Linux und Code::Blocks.<br />
Danke schonmal im Voraus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2476789</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2476789</guid><dc:creator><![CDATA[ghorki]]></dc:creator><pubDate>Mon, 23 Nov 2015 22:30:00 GMT</pubDate></item><item><title><![CDATA[Reply to [Erledigt] mkdir() erstellt unerklärliche Ordnernamen on Mon, 23 Nov 2015 21:33:56 GMT]]></title><description><![CDATA[<p>Wahrscheinlich ein Problem mit <code>ordnerAnzahl()</code> , oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2476792</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2476792</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Mon, 23 Nov 2015 21:33:56 GMT</pubDate></item><item><title><![CDATA[Reply to [Erledigt] mkdir() erstellt unerklärliche Ordnernamen on Mon, 23 Nov 2015 21:51:34 GMT]]></title><description><![CDATA[<p>Dachte ich auch, aber warum gibt mir die Ausgabe die richtige Anzahl ohne Fragezeichen? Hier ist mal meine orderAnzahl() Methode. Mir ist auch noch etwas komisches aufgefallen und zwar sobald der erste Ordner durch die Methode erstellt wurde, gibt der Shell Befehl eine falsche Orderanzahl zurück.</p>
<pre><code>string ausgabe:
ostringstream oss;
FILE* in;
char buff[512];

if((in = popen(&quot;ls -l /bla/ | wc -l&quot;, &quot;r&quot;))) {
  while(fgets(buff, sizeof(buff), in) != NULL) {
    oss &lt;&lt; buff;
  }
  pclose(in);
  ausgabe = oss.str();
} else {
  // Fehler
}

return ausgabe;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2476794</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2476794</guid><dc:creator><![CDATA[ghorki]]></dc:creator><pubDate>Mon, 23 Nov 2015 21:51:34 GMT</pubDate></item><item><title><![CDATA[Reply to [Erledigt] mkdir() erstellt unerklärliche Ordnernamen on Mon, 23 Nov 2015 21:54:46 GMT]]></title><description><![CDATA[<p>Bitte ausführbares <strong>Minimal</strong>beispiel, das den Fehler demonstriert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2476795</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2476795</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 23 Nov 2015 21:54:46 GMT</pubDate></item><item><title><![CDATA[Reply to [Erledigt] mkdir() erstellt unerklärliche Ordnernamen on Mon, 23 Nov 2015 22:10:21 GMT]]></title><description><![CDATA[<pre><code>// Log.cpp

#include &quot;Log.h&quot;

void Log::ordnerErstellen() {

   string ordnerPfad = &quot;/home/pi/Logs/&quot; + &quot;Flug&quot; + ordnerAnzahl();
    cout &lt;&lt; ordnerPfad.c_str();
    mkdir(ordnerPfad.c_str(), 0777);
}

string Log::ordnerAnzahl() {

    string ausgabe;
    ostringstream oss;

	FILE* in;
	char buff[512];

	if((in = popen(&quot;ls -l /home/pi/Logs/ | wc -l&quot;, &quot;r&quot;))) {

        while(fgets(buff, sizeof(buff), in) != NULL) {
            oss &lt;&lt; buff;
        }
        pclose(in);
        ausgabe = oss.str();

	} else {
           cout &lt;&lt; &quot;Fehler&quot;;
	}

	return ausgabe;
}
</code></pre>
<pre><code>// Log.h
#ifndef LOG_H
#define LOG_H

#include &lt;iostream&gt;
#include &lt;sstream&gt;
#include &lt;string&gt;
#include &lt;stdio.h&gt;
#include &lt;sys/stat.h&gt;

using namespace std;

class Log
{
    public:
	void ordnerErstellen();

    private:
        string ordnerAnzahl();

};

#endif // LOG_H
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2476796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2476796</guid><dc:creator><![CDATA[ghorki]]></dc:creator><pubDate>Mon, 23 Nov 2015 22:10:21 GMT</pubDate></item><item><title><![CDATA[Reply to [Erledigt] mkdir() erstellt unerklärliche Ordnernamen on Mon, 23 Nov 2015 22:09:27 GMT]]></title><description><![CDATA[<p>Ohne Deinen Code ausprobiert zu haben:<br />
Es sieht so aus, als ob <code>ls -l | wc -l</code> einen Zeilenumbruch einfügt - jedenfalls springt die bash bei mir in die näxte Zeile.</p>
<p>Sorry für den Schnellschuß, aber ich will in's Bett! <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/2476798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2476798</guid><dc:creator><![CDATA[Furble Wurble]]></dc:creator><pubDate>Mon, 23 Nov 2015 22:09:27 GMT</pubDate></item><item><title><![CDATA[Reply to [Erledigt] mkdir() erstellt unerklärliche Ordnernamen on Mon, 23 Nov 2015 22:12:33 GMT]]></title><description><![CDATA[<p>Danke für deine fixe Antwort <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="🙂"
    /><br />
Ich bin leider noch nicht so vertraut mit Linux, versuche mich gerade auf dem Raspberry. Wie lässt sich der Umbruch verhindern, falls es das sein sollte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2476800</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2476800</guid><dc:creator><![CDATA[ghorki]]></dc:creator><pubDate>Mon, 23 Nov 2015 22:12:33 GMT</pubDate></item><item><title><![CDATA[Reply to [Erledigt] mkdir() erstellt unerklärliche Ordnernamen on Mon, 23 Nov 2015 22:22:29 GMT]]></title><description><![CDATA[<p>ghorki schrieb:</p>
<blockquote>
<p>Wie lässt sich der Umbruch verhindern, falls es das sein sollte?</p>
</blockquote>
<p>Schneide ihn halt ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2476801</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2476801</guid><dc:creator><![CDATA[Caligulaminus]]></dc:creator><pubDate>Mon, 23 Nov 2015 22:22:29 GMT</pubDate></item><item><title><![CDATA[Reply to [Erledigt] mkdir() erstellt unerklärliche Ordnernamen on Mon, 23 Nov 2015 22:28:48 GMT]]></title><description><![CDATA[<p>Das ist des Rätsels Lösung.<br />
Danke an euch! Ihr rettet mir den Abend <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/2476802</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2476802</guid><dc:creator><![CDATA[ghorki]]></dc:creator><pubDate>Mon, 23 Nov 2015 22:28:48 GMT</pubDate></item><item><title><![CDATA[Reply to [Erledigt] mkdir() erstellt unerklärliche Ordnernamen on Mon, 23 Nov 2015 22:56:38 GMT]]></title><description><![CDATA[<p>Es ist fast nie eine gute Idee, die Ausgabe von ls zu parsen. ls ist primär für menschliche Leser gedacht. Im konkreten Fall hier fallen mir beispielsweise spontan folgende Fehlerquellen ein:<br />
-ls kann fehlschlagen bei sehr vielen Dateien.<br />
-Dateinamen in Unix können viele verrückte Zeichen enthalten, unter anderem auch Zeilenumbrüche.<br />
Und es gibt sicher noch mehr, die mir gerade nicht einfallen.</p>
<p>Besser wäre es, mit readdir selber die Dateien zu zählen. Oder boost::Filesystem benutzen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2476803</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2476803</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 23 Nov 2015 22:56:38 GMT</pubDate></item><item><title><![CDATA[Reply to [Erledigt] mkdir() erstellt unerklärliche Ordnernamen on Mon, 23 Nov 2015 23:24:20 GMT]]></title><description><![CDATA[<p>Danke, dann werde ich mir das mal genauer anschauen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2476806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2476806</guid><dc:creator><![CDATA[ghorki]]></dc:creator><pubDate>Mon, 23 Nov 2015 23:24:20 GMT</pubDate></item></channel></rss>