<?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[fstream Problem]]></title><description><![CDATA[<p>Hey cpp Community! <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 habe ein kleines Problem in einer meiner Funktionen (bitte Styl nicht so sehr beachten, bin relativ neu in c++ :P).</p>
<p>Ich möchte fehlgeschlagene Verbindungen in einer log.dat Datei loggen. Jedoch wird noch nicht mal eine log.dat Datei erstellt. Um nicht sofort zu euch zu rennen, habe ich es erstmal soweit wie möglich vereinfacht, um zu gucken, ob es vom Prinzip her gehen würde und das tat es. Daher bin ich im Moment ziemlich verzweifelt.</p>
<p>Testfunktion:</p>
<pre><code class="language-cpp">string ip = &quot;HALLO LOG!&quot;;

    time_t t; // Systemzeit
    time(&amp;t); // für das Loggen
    fstream noHost; // Stream erstellen
    fstream noCon; // Stream erstellen

              noHost.open( &quot;log.dat&quot;, ios::out | ios::app ); // Datei öffnen

                                        noHost &lt;&lt; &quot;- &quot; &lt;&lt; ctime(&amp;t) &lt;&lt; endl;
                                        noHost &lt;&lt; &quot;Host konnte nicht aufgeloest werden: &quot;;
                                        noHost &lt;&lt; ip &lt;&lt; endl;
                                        noHost &lt;&lt; endl;
             noHost.close(); // Datei schließen

             noCon.open( &quot;log.dat&quot;, ios::out | ios::app ); // Datei öffnen

                                        noCon &lt;&lt; &quot;- &quot; &lt;&lt; ctime(&amp;t) &lt;&lt; endl;
                                        noCon &lt;&lt; &quot;Verbindung fehlgschlagen: &quot;;
                                        noCon &lt;&lt; ip &lt;&lt; endl;
                                        noCon &lt;&lt; endl;

            noCon.close(); // Datei schließen
</code></pre>
<p>Meine Funktion:</p>
<pre><code class="language-cpp">int ping( string ip )
{

 // LOG
 int state = 0;
 // ---&lt;

 WSADATA w;
    if( int result = WSAStartup(MAKEWORD(2,2), &amp;w) != 0 )
        {
            cout &lt;&lt; &quot;Winsock 2 Fehler #&quot; &lt;&lt; result &lt;&lt; endl;
            return 1;
        }

    hostent* phe = gethostbyname(ip.c_str());

    if( phe == NULL )
        {
            cout &lt;&lt; &quot;\&quot;&quot; &lt;&lt; ip &lt;&lt; &quot;\&quot;&quot; &lt;&lt; &quot; konnte nicht aufgeloest werden!\a\a&quot; &lt;&lt; endl;
            return 1;

            //LOG
            state = 1;
        }

    if( phe-&gt;h_addrtype != AF_INET )
        {
            cout &lt;&lt; &quot;Ungueltiger Adresstyp!&quot; &lt;&lt; endl;
            return 1;
        }
    if(phe-&gt;h_length != 4)
        {
            cout &lt;&lt; &quot;Ungueltiger IP-Typ!&quot; &lt;&lt; endl;
            return 1;
        }

    int Socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); // Verbindung herstellen
        if( Socket == -1 )
            {
                cout &lt;&lt; &quot;Socket konnte nicht erstellt werden!&quot; &lt;&lt; endl;
                return 1;
            }

    sockaddr_in service;
    service.sin_family = AF_INET;
    service.sin_port = htons(80); // Das HTTP-Protokoll benutzt Port 80...

    char** p = phe-&gt;h_addr_list; // p mit erstem Listenelement initialisieren
    int result; // Ergebnis von connect
        do
        {
            if(*p == NULL) // Ende der Liste
                {
                    cout &lt;&lt; ip &lt;&lt; &quot;: &quot;;
                    cout &lt;&lt; &quot;Verbindung fehlgschlagen!\a\a&quot; &lt;&lt; endl;
                    return 1;

                    //LOG
                    state = 2;
                }

            service.sin_addr.s_addr = *reinterpret_cast&lt;unsigned long*&gt;(*p);
            ++p;
            result = connect( Socket, reinterpret_cast&lt;sockaddr*&gt;(&amp;service), sizeof(service) );
        }
        while( result == -1 );

    cout &lt;&lt; ip &lt;&lt; &quot;: &quot;;
    cout &lt;&lt; &quot;Verbindung erfolgreich!&quot; &lt;&lt; endl;

    // falls keine Verbindung
    time_t t; // Systemzeit
    time(&amp;t); // für das Loggen

    fstream noHost; // Stream erstellen
    fstream noCon; // Stream erstellen

    switch( state )
            {

                case 1:                 noHost.open( &quot;log.dat&quot;, ios::out | ios::app ); // Datei öffnen

                                        noHost &lt;&lt; &quot;\n- &quot; &lt;&lt; ctime(&amp;t) &lt;&lt; endl;
                                        noHost &lt;&lt; &quot;Host konnte nicht aufgeloest werden: &quot;;
                                        noHost &lt;&lt; ip &lt;&lt; endl;
                                        noHost &lt;&lt; endl;

                                        break;

                case 2:                 noCon.open( &quot;log.dat&quot;, ios::out | ios::app ); // Datei öffnen

                                        noCon &lt;&lt; &quot;\n- &quot; &lt;&lt; ctime(&amp;t) &lt;&lt; endl;
                                        noCon &lt;&lt; &quot;Verbindung fehlgschlagen: &quot;;
                                        noCon &lt;&lt; ip &lt;&lt; endl;
                                        noCon &lt;&lt; endl;

                                        break;

            }

    noHost.close(); // Datei schließen
    noCon.close(); // Datei schließen

}
</code></pre>
<p>Ich wusste nicht, ob die ganze Funktion relevant ist oder nur der letzte Teil, sorry wegen dem ganzen Code <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/topic/266940/fstream-problem</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 17:20:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/266940.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 17 May 2010 03:17:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to fstream Problem on Mon, 17 May 2010 03:17:13 GMT]]></title><description><![CDATA[<p>Hey cpp Community! <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 habe ein kleines Problem in einer meiner Funktionen (bitte Styl nicht so sehr beachten, bin relativ neu in c++ :P).</p>
<p>Ich möchte fehlgeschlagene Verbindungen in einer log.dat Datei loggen. Jedoch wird noch nicht mal eine log.dat Datei erstellt. Um nicht sofort zu euch zu rennen, habe ich es erstmal soweit wie möglich vereinfacht, um zu gucken, ob es vom Prinzip her gehen würde und das tat es. Daher bin ich im Moment ziemlich verzweifelt.</p>
<p>Testfunktion:</p>
<pre><code class="language-cpp">string ip = &quot;HALLO LOG!&quot;;

    time_t t; // Systemzeit
    time(&amp;t); // für das Loggen
    fstream noHost; // Stream erstellen
    fstream noCon; // Stream erstellen

              noHost.open( &quot;log.dat&quot;, ios::out | ios::app ); // Datei öffnen

                                        noHost &lt;&lt; &quot;- &quot; &lt;&lt; ctime(&amp;t) &lt;&lt; endl;
                                        noHost &lt;&lt; &quot;Host konnte nicht aufgeloest werden: &quot;;
                                        noHost &lt;&lt; ip &lt;&lt; endl;
                                        noHost &lt;&lt; endl;
             noHost.close(); // Datei schließen

             noCon.open( &quot;log.dat&quot;, ios::out | ios::app ); // Datei öffnen

                                        noCon &lt;&lt; &quot;- &quot; &lt;&lt; ctime(&amp;t) &lt;&lt; endl;
                                        noCon &lt;&lt; &quot;Verbindung fehlgschlagen: &quot;;
                                        noCon &lt;&lt; ip &lt;&lt; endl;
                                        noCon &lt;&lt; endl;

            noCon.close(); // Datei schließen
</code></pre>
<p>Meine Funktion:</p>
<pre><code class="language-cpp">int ping( string ip )
{

 // LOG
 int state = 0;
 // ---&lt;

 WSADATA w;
    if( int result = WSAStartup(MAKEWORD(2,2), &amp;w) != 0 )
        {
            cout &lt;&lt; &quot;Winsock 2 Fehler #&quot; &lt;&lt; result &lt;&lt; endl;
            return 1;
        }

    hostent* phe = gethostbyname(ip.c_str());

    if( phe == NULL )
        {
            cout &lt;&lt; &quot;\&quot;&quot; &lt;&lt; ip &lt;&lt; &quot;\&quot;&quot; &lt;&lt; &quot; konnte nicht aufgeloest werden!\a\a&quot; &lt;&lt; endl;
            return 1;

            //LOG
            state = 1;
        }

    if( phe-&gt;h_addrtype != AF_INET )
        {
            cout &lt;&lt; &quot;Ungueltiger Adresstyp!&quot; &lt;&lt; endl;
            return 1;
        }
    if(phe-&gt;h_length != 4)
        {
            cout &lt;&lt; &quot;Ungueltiger IP-Typ!&quot; &lt;&lt; endl;
            return 1;
        }

    int Socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); // Verbindung herstellen
        if( Socket == -1 )
            {
                cout &lt;&lt; &quot;Socket konnte nicht erstellt werden!&quot; &lt;&lt; endl;
                return 1;
            }

    sockaddr_in service;
    service.sin_family = AF_INET;
    service.sin_port = htons(80); // Das HTTP-Protokoll benutzt Port 80...

    char** p = phe-&gt;h_addr_list; // p mit erstem Listenelement initialisieren
    int result; // Ergebnis von connect
        do
        {
            if(*p == NULL) // Ende der Liste
                {
                    cout &lt;&lt; ip &lt;&lt; &quot;: &quot;;
                    cout &lt;&lt; &quot;Verbindung fehlgschlagen!\a\a&quot; &lt;&lt; endl;
                    return 1;

                    //LOG
                    state = 2;
                }

            service.sin_addr.s_addr = *reinterpret_cast&lt;unsigned long*&gt;(*p);
            ++p;
            result = connect( Socket, reinterpret_cast&lt;sockaddr*&gt;(&amp;service), sizeof(service) );
        }
        while( result == -1 );

    cout &lt;&lt; ip &lt;&lt; &quot;: &quot;;
    cout &lt;&lt; &quot;Verbindung erfolgreich!&quot; &lt;&lt; endl;

    // falls keine Verbindung
    time_t t; // Systemzeit
    time(&amp;t); // für das Loggen

    fstream noHost; // Stream erstellen
    fstream noCon; // Stream erstellen

    switch( state )
            {

                case 1:                 noHost.open( &quot;log.dat&quot;, ios::out | ios::app ); // Datei öffnen

                                        noHost &lt;&lt; &quot;\n- &quot; &lt;&lt; ctime(&amp;t) &lt;&lt; endl;
                                        noHost &lt;&lt; &quot;Host konnte nicht aufgeloest werden: &quot;;
                                        noHost &lt;&lt; ip &lt;&lt; endl;
                                        noHost &lt;&lt; endl;

                                        break;

                case 2:                 noCon.open( &quot;log.dat&quot;, ios::out | ios::app ); // Datei öffnen

                                        noCon &lt;&lt; &quot;\n- &quot; &lt;&lt; ctime(&amp;t) &lt;&lt; endl;
                                        noCon &lt;&lt; &quot;Verbindung fehlgschlagen: &quot;;
                                        noCon &lt;&lt; ip &lt;&lt; endl;
                                        noCon &lt;&lt; endl;

                                        break;

            }

    noHost.close(); // Datei schließen
    noCon.close(); // Datei schließen

}
</code></pre>
<p>Ich wusste nicht, ob die ganze Funktion relevant ist oder nur der letzte Teil, sorry wegen dem ganzen Code <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1898196</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1898196</guid><dc:creator><![CDATA[Chroma]]></dc:creator><pubDate>Mon, 17 May 2010 03:17:13 GMT</pubDate></item><item><title><![CDATA[Reply to fstream Problem on Mon, 17 May 2010 05:45:49 GMT]]></title><description><![CDATA[<p>Wozu für eine Log-Datei zwei open mit demselben Namen? Ein open reicht.<br />
Benutze für diesen Zweck ofstrem statt fstream ohne weitere ios-Zusätze.</p>
<pre><code class="language-cpp">ofstream log;          // stream anlegen
int      Eintrag = 0;  // testgrösse

log.open(&quot;log.dat&quot;);   // datei öffnen

log &lt;&lt; &quot;Eintrag: &quot; &lt;&lt; Eintrag &lt;&lt; endl;  // irgendetwas in die datei schreiben

log.close();           // datei schliessen
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1898210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1898210</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Mon, 17 May 2010 05:45:49 GMT</pubDate></item><item><title><![CDATA[Reply to fstream Problem on Mon, 17 May 2010 12:09:13 GMT]]></title><description><![CDATA[<p>hi berniebutt,<br />
man kann aber auch einfach blind sein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /><br />
Habe es umgehend umgeschrieben, sieht auch schon besser aus. Ich danke dir für deine Hilfe:), aber funktionieren will das Konstrukt trotzdem nicht. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
<p>state wird ganz am Anfang der Funktion deklariert und mit 0 initialisiert.</p>
<pre><code class="language-cpp">ofstream log;          // stream anlegen

    log.open(&quot;log.dat&quot;);   // datei öffnen

                if( state == 1 )
                    {
                        log &lt;&lt; &quot;\n- &quot; &lt;&lt; ctime(&amp;t) &lt;&lt; endl;
                        log &lt;&lt; &quot;Host konnte nicht aufgeloest werden: &quot;;
                        log &lt;&lt; ip &lt;&lt; endl;
                        log &lt;&lt; endl;
                    }

                else if( state == 2 )
                        {
                            log &lt;&lt; &quot;\n- &quot; &lt;&lt; ctime(&amp;t) &lt;&lt; endl;
                            log &lt;&lt; &quot;Verbindung fehlgschlagen: &quot;;
                            log &lt;&lt; ip &lt;&lt; endl;
                            log &lt;&lt; endl;
                        }

log.close();           // datei schliessen
</code></pre>
<p>Das komische ist, dass es in einer seperate Datei super funktioniert und auch eine Datei erstellt wird. Jedoch in meiner Funktion will es einfach nicht funktionieren.</p>
<p>Bin ich einfach zu blöd oder einfach wieder nur zu blind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1898348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1898348</guid><dc:creator><![CDATA[Chroma]]></dc:creator><pubDate>Mon, 17 May 2010 12:09:13 GMT</pubDate></item><item><title><![CDATA[Reply to fstream Problem on Mon, 17 May 2010 12:47:15 GMT]]></title><description><![CDATA[<p>Schau dir diese Zeilen noch mal genau an (bzw. die Warnungen deines Compilers!):</p>
<pre><code class="language-cpp">if(...)
{
    return 1;

    //LOG
    state = 1; 
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1898371</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1898371</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Mon, 17 May 2010 12:47:15 GMT</pubDate></item><item><title><![CDATA[Reply to fstream Problem on Mon, 17 May 2010 13:55:37 GMT]]></title><description><![CDATA[<p>hi,<br />
kann leider nicht wirklich nachvollziehen was du mir damit sagen willst. Wie gesagt, bin ziemlich neu in C++. Habe es schon mit</p>
<pre><code class="language-cpp">state = 1;
return state;
</code></pre>
<p>versucht, was aber ja gar nichts bringt, da ich die state var ja innerhalb der Funktion brauche und nicht als rückgabewert, oder?</p>
<p>Obwohl mir fällt da grad was ein. Ich werde mal versuchen das Logging in eine zweite Funktion zu schreiben, die mit dem übergebenen Parameter (Var) von Ping arbeitet. Ich melde mich, falls es nichts wird. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>EDIT:</p>
<p>Es hat geklappt <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="😉"
    /> Endlich kann losgeloggt werden.</p>
<pre><code class="language-cpp">void logPing( string ip )
{

    int state = ping( ip );
    // falls keine Verbindung
    time_t t; // Systemzeit
    time(&amp;t); // für das Loggen

    ofstream log;          // stream anlegen

    log.open(&quot;log.dat&quot;);   // datei öffnen

                if( state == 1 )
                    {
                        log &lt;&lt; &quot;\n- &quot; &lt;&lt; ctime(&amp;t) &lt;&lt; endl;
                        log &lt;&lt; &quot;Host konnte nicht aufgeloest werden: &quot;;
                        log &lt;&lt; ip &lt;&lt; endl;
                        log &lt;&lt; endl;
                    }

                else if( state == 2 )
                        {
                            log &lt;&lt; &quot;\n- &quot; &lt;&lt; ctime(&amp;t) &lt;&lt; endl;
                            log &lt;&lt; &quot;Verbindung fehlgschlagen: &quot;;
                            log &lt;&lt; ip &lt;&lt; endl;
                            log &lt;&lt; endl;
                        }

    log.close();           // datei schliessen

}
</code></pre>
<p>Ob das jetzt so schön gelöst ist, weiß ich natürlich nicht, aber immerhin funktioniert es nun. Danke dir für den Tipp Th69.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1898419</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1898419</guid><dc:creator><![CDATA[Chroma]]></dc:creator><pubDate>Mon, 17 May 2010 13:55:37 GMT</pubDate></item><item><title><![CDATA[Reply to fstream Problem on Mon, 17 May 2010 13:55:36 GMT]]></title><description><![CDATA[<p>Hallo Croma,</p>
<p>jeder Anfang ist schwer - das ist normal. Probleme sind nun aber dafür da, gelöst zu werden. Dein Ansatz mit einer Log-Datei ist schon einmal sehr gut. Damit kann man viel machen, manchmal schneller und effizienter als mit Debuggen.</p>
<p>Erweitere die Ausgaben in die Log-Datei um die Kontrolle, was mit if ... else ... abgefragt wird - also hier deine Grösse state.</p>
<p>Ich mache seit 'Olims Zeiten' jede Programmentwicklung so und benutze debug nur selten. Hat den Vorteil, dass man vermeintlich fehlerfreie Dinge auskommentieren und jederzeit reaktivieren kann, wenn später doch etwas falsch läuft.</p>
<p>Th69 hat auch recht: Fehlermeldungen und Warnungen des Compilers sind auch zu beachten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1898422</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1898422</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Mon, 17 May 2010 13:55:36 GMT</pubDate></item><item><title><![CDATA[Reply to fstream Problem on Mon, 17 May 2010 15:17:23 GMT]]></title><description><![CDATA[<p>Hallo Chroma,</p>
<p>soweit solltest du die Grundlagen von C++ aber beherrschen, daß &quot;return&quot; deine Funktion beendet, d.h. die nachfolgenden Zeilen Code gar nicht mehr ausgeführt werden -&gt; und daher auch kein Logging!</p>
<p>Aber deine 2. Variante mit der eigenen Log-Funktion ist auch besser - schön, daß du also selber etwas ausprobiert hast...</p>
<p>Du solltest dich auch mal mit dem Thema &quot;Debugging&quot; beschäftigen (je nachdem welche IDE bzw. Compiler du verwendest). Damit kannst du dann den Programmcode Zeile für Zeile abarbeiten (quasi &quot;Loggen&quot; ;)) ...</p>
<p>Sorry berniebutt, daß ich dir widerspreche, aber erst sollte man Debuggen lernen (wie man sieht, funktioniert sonst evtl. auch das Logging nicht richtig -)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1898476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1898476</guid><dc:creator><![CDATA[Th69]]></dc:creator><pubDate>Mon, 17 May 2010 15:17:23 GMT</pubDate></item><item><title><![CDATA[Reply to fstream Problem on Wed, 19 May 2010 10:20:34 GMT]]></title><description><![CDATA[<p>Th69 schrieb:</p>
<blockquote>
<p>Sorry berniebutt, daß ich dir widerspreche, aber erst sollte man Debuggen lernen (wie man sieht, funktioniert sonst evtl. auch das Logging nicht richtig -)</p>
</blockquote>
<p>Das Loggen - wie es hier genannt wird - war ein allgemein übliches Verfahren zum Testen einer Programmentwicklung als es noch kein Debuggen gab. Bei einem sauberen Programmentwurf ist das sehr effektiv zur Vermeidung von Fehlern und zum Aufspüren, wo doch Fehler auftreten. Ich komme damit in den meisten Fällen schneller klar als mit Debug. Letztere Möglichkeit bleibt immer noch offen. Eine Datei öffnen und schliessen und zwischendurch hineinschreiben, was passiert, ist eine einfache Angelegenheit. Wenn dort etwas erwartetes nicht erscheint, so ist der Fehler leicht lokalisierbar.</p>
<p>Meine andere Meinung: Erst Loggen beherrschen und einsetzen, dann Debug verwenden! Ich denke sogar, das Loggen kann zu einem besseren Programmentwurf führen.</p>
<p>Hier sind wir aber beim Thema 'Programmierstil' und darüber kann man heftig diskutieren. Wichtig ist nur, dass ein Programmierer überall im Programm den Überblick behält, was während des Programmlaufes passiert oder eben nicht passiert. Diesen Überblick in eine Log-Datei zu integrieren ist auch sinnvoll für die spätere Wartung des Programmes. Warum crasht es auf einmal und wo genau? :p</p>
<p>edit: Die Log-Datei für den Benutzer sollte natürlich getrennt sein von der Log-Datei des Programmierers. Letztere kommentiert man aus oder löscht sie schlicht zum Ende der Release-Version</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1898812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1898812</guid><dc:creator><![CDATA[berniebutt]]></dc:creator><pubDate>Wed, 19 May 2010 10:20:34 GMT</pubDate></item></channel></rss>