<?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[Problem mit fstream - Dateien werden nicht erzeugt...]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe ein mir unerklärliches problem mit fstream bzw der Ausgabe in eine Datei.</p>
<p>Die Klasse um die es geht dient dazu Fehler zu Protokollieren. Ihr wird der Programmname ( für welches Fehler registriert werden sollen ) und der Pfad für die Protokolldateien übergeben.</p>
<p>Das klappt auch, nur erzeugt meine Klasse keine Dateien...</p>
<p>Die beiden Variablen für die Dateiausgabe sind als fstream* deklariert, da ich von verschiedenen Funktionen auf sie zugreigen muss. Der Dateiname setzt sich dabei aus dem Verzeichnis der Protokolldateien (z.B. ..\\LOG\) + dem Programmnamen + einem Timestamp(hh<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f1f2-1f1f2.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--myanmar_burma_"
      title=":mm:"
      alt="🇲🇲"
    />ss-jjjj_dd_mm) + der Dateiendung ( .err ) zusammen.</p>
<pre><code>// Initialisierung der Dateien
this-&gt;aeDatei = new fstream( tmpDateinameAE, ios::out );
</code></pre>
<p>Der Zugriff auf die Ausgabedateien erfolgt über write.</p>
<pre><code>// Kopfzeile schreiben
aeDatei-&gt;write( &quot;Fehlerzeit;ReturnCode;FehlerTyp;Fehlercode;FehlerOrt;Fehlerschlüssel;Fehlertext&quot;, 82);
</code></pre>
<p>Im Destruktor der Klasse rufe ich dann close() für die Dateien auf.</p>
<p>Was ich schon herausgefunden habe ist das mein zeiger auf die Datei definitiv befüllt ist. Der DateiStream aber leer bleibt.</p>
<p>Hoffe die angaben hier reichen, um aufzuzeigen was ein Peoblem ich habe und würde mich freuen wenn jemand eine Antwort darauf weiß.</p>
<p>Gruß Goshe</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/181412/problem-mit-fstream-dateien-werden-nicht-erzeugt</link><generator>RSS for Node</generator><lastBuildDate>Tue, 22 Sep 2026 07:13:05 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/181412.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 13 May 2007 14:58:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit fstream - Dateien werden nicht erzeugt... on Sun, 13 May 2007 14:58:15 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>Ich habe ein mir unerklärliches problem mit fstream bzw der Ausgabe in eine Datei.</p>
<p>Die Klasse um die es geht dient dazu Fehler zu Protokollieren. Ihr wird der Programmname ( für welches Fehler registriert werden sollen ) und der Pfad für die Protokolldateien übergeben.</p>
<p>Das klappt auch, nur erzeugt meine Klasse keine Dateien...</p>
<p>Die beiden Variablen für die Dateiausgabe sind als fstream* deklariert, da ich von verschiedenen Funktionen auf sie zugreigen muss. Der Dateiname setzt sich dabei aus dem Verzeichnis der Protokolldateien (z.B. ..\\LOG\) + dem Programmnamen + einem Timestamp(hh<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f1f2-1f1f2.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--myanmar_burma_"
      title=":mm:"
      alt="🇲🇲"
    />ss-jjjj_dd_mm) + der Dateiendung ( .err ) zusammen.</p>
<pre><code>// Initialisierung der Dateien
this-&gt;aeDatei = new fstream( tmpDateinameAE, ios::out );
</code></pre>
<p>Der Zugriff auf die Ausgabedateien erfolgt über write.</p>
<pre><code>// Kopfzeile schreiben
aeDatei-&gt;write( &quot;Fehlerzeit;ReturnCode;FehlerTyp;Fehlercode;FehlerOrt;Fehlerschlüssel;Fehlertext&quot;, 82);
</code></pre>
<p>Im Destruktor der Klasse rufe ich dann close() für die Dateien auf.</p>
<p>Was ich schon herausgefunden habe ist das mein zeiger auf die Datei definitiv befüllt ist. Der DateiStream aber leer bleibt.</p>
<p>Hoffe die angaben hier reichen, um aufzuzeigen was ein Peoblem ich habe und würde mich freuen wenn jemand eine Antwort darauf weiß.</p>
<p>Gruß Goshe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1284079</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1284079</guid><dc:creator><![CDATA[goshe]]></dc:creator><pubDate>Sun, 13 May 2007 14:58:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fstream - Dateien werden nicht erzeugt... on Sun, 13 May 2007 15:22:54 GMT]]></title><description><![CDATA[<p>was meinst du mit befüllt bzw leer?<br />
evtl musst du vorher noch die verzeichnisse erstellen, in denen sich die dateien befinden sollen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1284094</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1284094</guid><dc:creator><![CDATA[matimatiker]]></dc:creator><pubDate>Sun, 13 May 2007 15:22:54 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fstream - Dateien werden nicht erzeugt... on Sun, 13 May 2007 15:38:08 GMT]]></title><description><![CDATA[<p>Also das Verzeichnios existiert und die Zugriffsberechtigungen sind auch da.</p>
<p>Mit befüllt meine ich, das dem Dateistream eine Speicheraddresse zugeordnet ist. ( cout &lt;&lt; aeDatei gibt eine Speicheraddresse aus )</p>
<p>Und mit leer meine ich das nichts im dateistream steht ( cout &lt;&lt; *aeDatei gibt 0x0 aus )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1284105</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1284105</guid><dc:creator><![CDATA[goshe]]></dc:creator><pubDate>Sun, 13 May 2007 15:38:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fstream - Dateien werden nicht erzeugt... on Sun, 13 May 2007 16:26:28 GMT]]></title><description><![CDATA[<p>goshe schrieb:</p>
<blockquote>
<p>Und mit leer meine ich das nichts im dateistream steht ( cout &lt;&lt; *aeDatei gibt 0x0 aus )</p>
</blockquote>
<p>Wär mir neu dass man so den inhalt des stream ausgeben könnte.<br />
Aber soweit ich weiß besitzten stream einen cast-operator nach void*. Dieser wird glaub ich da auch angespochen, wenn du cout &lt;&lt; <em>aeDatei machst.<br />
Der cast nach void</em> hat den Wert 0 wenn Fehler-Flags gesetzt wurden. D.h. entweder konnte keine Datei zum Schreiben geöffnet werden oder die Ausgabe in den Stream hat einen Fehler verursacht.</p>
<p>Im oberen Code sind mir einige Sachen aufgefallen, die ich anders machen würde. Heißt aber nicht dass es falsch ist, wie du das gemacht hast:</p>
<ol>
<li>stream::write() ist eigentlich für binäre einträge gedacht. Wenn du nur Text ausgibst benutze lieber &lt;&lt; -Operator. Da du einen Pointer auf einen stream hast, schreibe *aeDatei &lt;&lt; Irgendwas</li>
<li>this-&gt;aeDatei = new fstream( tmpDateinameAE, ios::out );<br />
Glaub wenn du ne binary-Datei erstellen willst, musst du noch ios::binary als flag angeben. Ansonsten kannst auch new ofstream benutzen. nur ohne ios::out.<br />
Und Prüfe nach dem erstellen besser auf Fehler. Also entweder mit if (! *aeDatei) // Dann Fehler aufgetreten oder if (aeDatei.fail())</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1284136</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1284136</guid><dc:creator><![CDATA[matimatiker]]></dc:creator><pubDate>Sun, 13 May 2007 16:26:28 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fstream - Dateien werden nicht erzeugt... on Sun, 13 May 2007 17:22:20 GMT]]></title><description><![CDATA[<p>danke für die Antwort, jetzt weiß ich zumindest woher die 0x0 kommen...</p>
<p>Die Fehlerüberprüfung hab ich schon drin... Ich hab ja schon einige Varianten ausprobiert ( mit &lt;&lt; in die Datei zu schreiben; und ios::binary mit anzugeben; )</p>
<p>Das ich bei der Fehlerprüfung auf *aeDatei prüfen muss wusste ich bisher noch nicht... Mal schauen ob mich das weiterbringt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1284168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1284168</guid><dc:creator><![CDATA[goshe]]></dc:creator><pubDate>Sun, 13 May 2007 17:22:20 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fstream - Dateien werden nicht erzeugt... on Sun, 13 May 2007 18:35:09 GMT]]></title><description><![CDATA[<p>Ok nun weiß ich das mein Failbit nach dem öffnen gesetzt ist...</p>
<p>Hast du ne Idee wie ich das weiter auswerten kann/herausfinden woran es liegt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1284210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1284210</guid><dc:creator><![CDATA[goshe]]></dc:creator><pubDate>Sun, 13 May 2007 18:35:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fstream - Dateien werden nicht erzeugt... on Sun, 13 May 2007 19:00:15 GMT]]></title><description><![CDATA[<p>keine ahnung.<br />
Ist meistens eines davon: ungültiger dateiname, keine schreibrechte. datei durch<br />
anderen prozess offen, verzeichnis-baum existiert nicht, usw</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1284227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1284227</guid><dc:creator><![CDATA[matimatiker]]></dc:creator><pubDate>Sun, 13 May 2007 19:00:15 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fstream - Dateien werden nicht erzeugt... on Sun, 13 May 2007 19:07:08 GMT]]></title><description><![CDATA[<p>Ok dann muss ich mal schauen ob es am Dateinamen liegt!</p>
<p>Vielen Dank für die Hilfe !</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1284231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1284231</guid><dc:creator><![CDATA[goshe]]></dc:creator><pubDate>Sun, 13 May 2007 19:07:08 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit fstream - Dateien werden nicht erzeugt... on Sun, 13 May 2007 19:36:10 GMT]]></title><description><![CDATA[<p>Oh mann manchmal sieht mans echt nicht... ich wollte ne Uhrzeit in meinen Dateinamem schreiben (hh<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f1f2-1f1f2.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--myanmar_burma_"
      title=":mm:"
      alt="🇲🇲"
    />ss) und doppelpunkte sind nicht erlaubt xD</p>
<p>Hab aber auf jeden fall was gelernt!</p>
<p>gruß goshe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1284249</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1284249</guid><dc:creator><![CDATA[goshe]]></dc:creator><pubDate>Sun, 13 May 2007 19:36:10 GMT</pubDate></item></channel></rss>