<?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[fehler beim öffnen von datei]]></title><description><![CDATA[<p>Ich will daten in eine datei schreiben. diese existiert noch nicht, aber laut reference wird diese erstellt, bekommen jedoch immer fehler bei good(),bad() ect. er erstellt sie zwar schreibt dann aber nichts rein. Beim zweiten durchlauf gehts dann immer wenn die datei da ist. Kann es sein das die datei einfach noch nicht geöffnet ist? trotz des .open(...)<br />
Habe folgenden code:</p>
<pre><code class="language-cpp">fstream filestr;
fstream filestr_result;

filestr_result.open (&quot;result.txt&quot;, fstream::in | fstream::out);
if (filestr_result.good())
{
cout &lt;&lt; &quot;DATEI OK&quot;&lt;&lt;endl;
}

filestr_result.open (&quot;result.txt&quot;, fstream::in | fstream::out);
for (int i=0;i&lt;100;i++){
filestr_result &lt;&lt; i &lt;&lt; endl;
}
</code></pre>
<p>danke ich vorraus</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/269303/fehler-beim-öffnen-von-datei</link><generator>RSS for Node</generator><lastBuildDate>Sun, 30 Aug 2026 03:32:07 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/269303.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 22 Jun 2010 20:44:40 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to fehler beim öffnen von datei on Wed, 23 Jun 2010 07:15:27 GMT]]></title><description><![CDATA[<p>Ich will daten in eine datei schreiben. diese existiert noch nicht, aber laut reference wird diese erstellt, bekommen jedoch immer fehler bei good(),bad() ect. er erstellt sie zwar schreibt dann aber nichts rein. Beim zweiten durchlauf gehts dann immer wenn die datei da ist. Kann es sein das die datei einfach noch nicht geöffnet ist? trotz des .open(...)<br />
Habe folgenden code:</p>
<pre><code class="language-cpp">fstream filestr;
fstream filestr_result;

filestr_result.open (&quot;result.txt&quot;, fstream::in | fstream::out);
if (filestr_result.good())
{
cout &lt;&lt; &quot;DATEI OK&quot;&lt;&lt;endl;
}

filestr_result.open (&quot;result.txt&quot;, fstream::in | fstream::out);
for (int i=0;i&lt;100;i++){
filestr_result &lt;&lt; i &lt;&lt; endl;
}
</code></pre>
<p>danke ich vorraus</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916018</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916018</guid><dc:creator><![CDATA[greenghecco]]></dc:creator><pubDate>Wed, 23 Jun 2010 07:15:27 GMT</pubDate></item><item><title><![CDATA[Reply to fehler beim öffnen von datei on Tue, 22 Jun 2010 21:04:31 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">filestr_result (&quot;result.txt&quot;, fstream::in | fstream::out);
</code></pre>
<p>Diese Zeile ist unnoetig.</p>
<p>Wenn deine Datei zum Schreiben geöffnet wird, wird das good-Flag gesetzt bei erfolgreichem Öffnen. Drum ist good kein Fehler. Die Meldung von dir ist also Irreführend und macht Sinn bei Prüfung auf bad() oder fail().</p>
<pre><code class="language-cpp">if (filestr_result.fail())
{
    cout &lt;&lt; &quot;fehler bei datei&quot;&lt;&lt;endl;
}
</code></pre>
<p>Oder gleich ganz anders, wenn Datei erfolgreich geöffnet wurde, reinschreiben:</p>
<pre><code class="language-cpp">if (filestr_result.good())
{
    for (int i=0;i&lt;100;i++){
        filestr_result &lt;&lt; i &lt;&lt; endl;
}
</code></pre>
<p>Und am Ende Datei natürlich noch schließen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916022</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916022</guid><dc:creator><![CDATA[BasicMan01]]></dc:creator><pubDate>Tue, 22 Jun 2010 21:04:31 GMT</pubDate></item><item><title><![CDATA[Reply to fehler beim öffnen von datei on Wed, 23 Jun 2010 07:13:45 GMT]]></title><description><![CDATA[<pre><code>if (filestr_result.fail())
</code></pre>
<p>hab das das .open vergessen zu schreiben.</p>
<p>Ja es geht um die datei result.txt und den fstream filestr_result. und das spuckt bad() auch ein fehler. und good() sagt auch 0.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1916087</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1916087</guid><dc:creator><![CDATA[greenghecco]]></dc:creator><pubDate>Wed, 23 Jun 2010 07:13:45 GMT</pubDate></item><item><title><![CDATA[Reply to fehler beim öffnen von datei on Wed, 14 Jul 2010 11:13:38 GMT]]></title><description><![CDATA[<p>Also das Problem hat sich immer noch nicht gelöst.:</p>
<p>ICh will eine Datei erstellen und öfffnen. Diese Datei existiert nicht voher, später ja.</p>
<p>der Code ist folgender.</p>
<pre><code>//das ist abstrahiert, muss aber im code bleiben
stringstream udo;
string hans;

udo &lt;&lt; &quot;karl.txt&quot;;
hans = udo.str();

fstream file;

file.open (hans.c_str(), ios::in);

if (file.good () == false){
   cout &lt;&lt; &quot;konnte datei nicht öffnen // erstellen&quot; &lt;&lt; endl;
}else {
   cout &lt;&lt; &quot;alles gut&quot;&lt;&lt;endl;
}
</code></pre>
<p>Das Problem ist eigentlich müsste good true ja liefern wenn alles gut ist, aber es wird immer false angezeigt. Wie kann das sein?</p>
<p>ruß und danke für hilfe</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1926090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1926090</guid><dc:creator><![CDATA[greenghecco]]></dc:creator><pubDate>Wed, 14 Jul 2010 11:13:38 GMT</pubDate></item><item><title><![CDATA[Reply to fehler beim öffnen von datei on Wed, 14 Jul 2010 11:19:21 GMT]]></title><description><![CDATA[<p>Kann man eine Datei mit ios::in öffnen, die nicht existiert?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1926098</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1926098</guid><dc:creator><![CDATA[Heimelchen]]></dc:creator><pubDate>Wed, 14 Jul 2010 11:19:21 GMT</pubDate></item><item><title><![CDATA[Reply to fehler beim öffnen von datei on Wed, 14 Jul 2010 11:25:31 GMT]]></title><description><![CDATA[<p>betrifft ja den stream selbst, denke schon oder?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1926103</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1926103</guid><dc:creator><![CDATA[greenghecco]]></dc:creator><pubDate>Wed, 14 Jul 2010 11:25:31 GMT</pubDate></item><item><title><![CDATA[Reply to fehler beim öffnen von datei on Wed, 14 Jul 2010 11:31:27 GMT]]></title><description><![CDATA[<p>Heimelchen schrieb:</p>
<blockquote>
<p>Kann man eine Datei mit ios::in öffnen, die nicht existiert?</p>
</blockquote>
<p>Hallo,</p>
<p>ein Stream kann nicht zum Lesen geöffnet werden, wenn die Datei nicht existiert. Welchen Sinn soll das auch haben?</p>
<p>mfg Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1926109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1926109</guid><dc:creator><![CDATA[mgaeckler]]></dc:creator><pubDate>Wed, 14 Jul 2010 11:31:27 GMT</pubDate></item><item><title><![CDATA[Reply to fehler beim öffnen von datei on Wed, 14 Jul 2010 11:49:22 GMT]]></title><description><![CDATA[<p>ja ist ja richtig, ich will ja nur das die datei erstellt wird. Mir ist klar geworden das good() auch immer fehlschalgen wird, da wenn eine neue datei erstellt wurde ja das eof() bit eh gesetzt ist.</p>
<p>das problem ist, das ich die Datei vom namen nicht einmal selbst erstellen kann, weil die hashverschlüsselt vorliegt. Und der Hash wird im vorfeld direkt erstellt.<br />
Ein umweg wäre es direkt die datei somit in c++ zu erzeugen.</p>
<p>Also geht open nur mit ner vorhandenen datei? Aber laut c++ ref erstellt er doch sonst eine, aber es wird keine im verzeinis angezeigt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1926110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1926110</guid><dc:creator><![CDATA[greenghecco]]></dc:creator><pubDate>Wed, 14 Jul 2010 11:49:22 GMT</pubDate></item><item><title><![CDATA[Reply to fehler beim öffnen von datei on Wed, 14 Jul 2010 11:49:50 GMT]]></title><description><![CDATA[<p>greenghecco schrieb:</p>
<blockquote>
<p>das problem ist, das ich die Datei vom namen nicht einmal selbst erstellen kann, weil die hashverschlüsselt vorliegt. Und der Hash wird im vorfeld direkt erstellt.<br />
Ein umweg wäre es direkt die datei somit in c++ zu erzeugen.</p>
</blockquote>
<p>Muß ich das verstehen? <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="😕"
    /> Wenn Du die Datei nicht erstellen kannst, weil Du nur den Hashwert des Namens hast, dann kannst Du sie auch nicht zum Lesen öffnen.</p>
<p>mfg Martin</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1926120</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1926120</guid><dc:creator><![CDATA[mgaeckler]]></dc:creator><pubDate>Wed, 14 Jul 2010 11:49:50 GMT</pubDate></item><item><title><![CDATA[Reply to fehler beim öffnen von datei on Wed, 14 Jul 2010 12:17:28 GMT]]></title><description><![CDATA[<p>das bezieht sich darauf, wenn ich die Datei manuell zum testen erstellen will ;).</p>
<p>Wenn ich jetzt aber</p>
<pre><code>file.open(&quot;test.txt&quot;, fstream::out);
</code></pre>
<p>eingebe funktioniert es. Es scheint also an der c_str()-Funktion zu liegen.</p>
<p>So fehler gefunden. Im Hash befinden sich auch sonderzeichen, wie zb. dez wert 22 im char. das entspricht einem syn. Das darf wohl nicht im Dateinamen auftauchen. damit wird die erstellung des dateinnamens nicht erlaubt. da bleibt einem nur noch das in eine integer dateinamen umzuwandeln <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/1926123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1926123</guid><dc:creator><![CDATA[greenghecco]]></dc:creator><pubDate>Wed, 14 Jul 2010 12:17:28 GMT</pubDate></item><item><title><![CDATA[Reply to fehler beim öffnen von datei on Wed, 14 Jul 2010 11:59:07 GMT]]></title><description><![CDATA[<p>Nein es liegt am Modus. <code>ios::out</code> erstellt eine Datei, wenn nicht vorhanden, <code>ios:in</code> nicht. Wäre ja auch nicht sinnvoll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1926127</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1926127</guid><dc:creator><![CDATA[ipsec]]></dc:creator><pubDate>Wed, 14 Jul 2010 11:59:07 GMT</pubDate></item></channel></rss>