<?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[uterschiedlicher Programmverlauf bei dateiinhalt]]></title><description><![CDATA[<p>Hi,</p>
<p>bei Spielen sieht man oft config.txt dateien wo dann sowas drinsteht wie:</p>
<pre><code>debug = true
</code></pre>
<p>so ne datei zu erstellen und auszulesen ist kein prob die frage ist kann man sowas &quot;automatisieren&quot; kann, sodass man nicht mehr sowas machen muss:</p>
<pre><code class="language-cpp">...

string ueberfluessig;
bool debug;

ifstream config(&quot;config.txt&quot;);

config &gt;&gt; ueberfluessig;     // Weil &quot;debug&quot; und &quot;=&quot; ueberfluessig sind
config &gt;&gt; ueberfluessig;
config &gt;&gt; debug;             // Den Wert von debug einlesen

if(debug == true)
{
   void writeLogFile(...)
   {
      ...                   // Funktion zum eintragen von LogFile einträgen
   }
}
else
{
   void writeLogFile(...)
   {}                       // Funktion macht nichts, da debug false ist
}

...
</code></pre>
<p>Mfg Yazoo</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/201386/uterschiedlicher-programmverlauf-bei-dateiinhalt</link><generator>RSS for Node</generator><lastBuildDate>Mon, 05 Oct 2026 21:52:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/201386.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 29 Dec 2007 12:49:11 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to uterschiedlicher Programmverlauf bei dateiinhalt on Sat, 29 Dec 2007 12:52:00 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>bei Spielen sieht man oft config.txt dateien wo dann sowas drinsteht wie:</p>
<pre><code>debug = true
</code></pre>
<p>so ne datei zu erstellen und auszulesen ist kein prob die frage ist kann man sowas &quot;automatisieren&quot; kann, sodass man nicht mehr sowas machen muss:</p>
<pre><code class="language-cpp">...

string ueberfluessig;
bool debug;

ifstream config(&quot;config.txt&quot;);

config &gt;&gt; ueberfluessig;     // Weil &quot;debug&quot; und &quot;=&quot; ueberfluessig sind
config &gt;&gt; ueberfluessig;
config &gt;&gt; debug;             // Den Wert von debug einlesen

if(debug == true)
{
   void writeLogFile(...)
   {
      ...                   // Funktion zum eintragen von LogFile einträgen
   }
}
else
{
   void writeLogFile(...)
   {}                       // Funktion macht nichts, da debug false ist
}

...
</code></pre>
<p>Mfg Yazoo</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427588</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427588</guid><dc:creator><![CDATA[Yazoo]]></dc:creator><pubDate>Sat, 29 Dec 2007 12:52:00 GMT</pubDate></item><item><title><![CDATA[Reply to uterschiedlicher Programmverlauf bei dateiinhalt on Sat, 29 Dec 2007 13:20:10 GMT]]></title><description><![CDATA[<p>Ich würde es ja über Interfaces machen.</p>
<pre><code class="language-cpp">class Logger
{
public:
    virtual log(const std::string&amp;) = 0;
    //...
};
// andere Datei:
class DebugLogger : public Logger
// andare Datei:
class ReleaseLogger : public Logger
</code></pre>
<p>Und dann einfach ne Factory-Funktion zum erstellen:</p>
<pre><code class="language-cpp">// Header
Logger* createLogger(bool debug);
// Source
{
    if (debug)
        return new DebugLogger;
    else
        return new ReleaseLogger;
}
</code></pre>
<p>Natürlich sollte man sich da noch ein besseres Konzept überlegen. So ein Raw-Pointer ist nicht gerade optimal. Vllt einen shared_ptr oder so.</p>
<p>EDIT:<br />
Allerdings empfiehlt es sich bei Loggern, die nur im Debug-Modus aktiv sind, Makros zu benutzen, die zu nichts werden, wenn nicht debuggt wird, kostet sonst zuviel Performance.</p>
<p>Gruß<br />
Don06</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1427595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1427595</guid><dc:creator><![CDATA[Don06]]></dc:creator><pubDate>Sat, 29 Dec 2007 13:20:10 GMT</pubDate></item></channel></rss>