<?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[Datei öffnen klappt nicht]]></title><description><![CDATA[<p>Hallo,</p>
<p>warum öffnet dieser code die datei nicht?</p>
<pre><code class="language-cpp">ifstream tmp;

cout &lt;&lt; tmp.fail() &lt;&lt; endl; // Ausgabe: 0

	tmp.open(fName.c_str(), ios::in);

cout &lt;&lt; tmp.fail() &lt;&lt; endl; // Ausgabe: 1
</code></pre>
<p>fName ist &quot;test.txt&quot;, die Datei hat Leserechte für alle Benutzer und liegt im selben Verzeichnis wie das Programm.</p>
<p>Das komische ist, wenn ich den char* direkt übergebe</p>
<p>tmp.open(&quot;test.txt&quot;, ios::in);</p>
<p>dann wird die Datei korrekt geöffnet.</p>
<p>Wo könnten Fehler sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/167311/datei-öffnen-klappt-nicht</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 21:56:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/167311.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 09 Dec 2006 17:44:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sat, 09 Dec 2006 17:44:48 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>warum öffnet dieser code die datei nicht?</p>
<pre><code class="language-cpp">ifstream tmp;

cout &lt;&lt; tmp.fail() &lt;&lt; endl; // Ausgabe: 0

	tmp.open(fName.c_str(), ios::in);

cout &lt;&lt; tmp.fail() &lt;&lt; endl; // Ausgabe: 1
</code></pre>
<p>fName ist &quot;test.txt&quot;, die Datei hat Leserechte für alle Benutzer und liegt im selben Verzeichnis wie das Programm.</p>
<p>Das komische ist, wenn ich den char* direkt übergebe</p>
<p>tmp.open(&quot;test.txt&quot;, ios::in);</p>
<p>dann wird die Datei korrekt geöffnet.</p>
<p>Wo könnten Fehler sein?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189181</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189181</guid><dc:creator><![CDATA[deetee]]></dc:creator><pubDate>Sat, 09 Dec 2006 17:44:48 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sat, 09 Dec 2006 17:55:19 GMT]]></title><description><![CDATA[<p>der fehler scheint im inhalt von fName zu liegen,</p>
<p>da du aber netterweise keinen relevanten code gepostet hast , ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189194</guid><dc:creator><![CDATA[ronny]]></dc:creator><pubDate>Sat, 09 Dec 2006 17:55:19 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sat, 09 Dec 2006 18:09:45 GMT]]></title><description><![CDATA[<p>fName ist ein std::string Parameter. Der Inhalt ist wie bereits geschrieben &quot;test.txt&quot;, also der Dateiname.</p>
<p>Wenn dann müsste es die Konvertierung mit c_str() sein, die Probleme macht, aber warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189200</guid><dc:creator><![CDATA[deetee]]></dc:creator><pubDate>Sat, 09 Dec 2006 18:09:45 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sat, 09 Dec 2006 19:05:34 GMT]]></title><description><![CDATA[<p>Ich glaube nicht, dass der Inhalt &quot;test.txt&quot; ist. Beweis es uns, oder poste mehr code.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189227</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189227</guid><dc:creator><![CDATA[lolz]]></dc:creator><pubDate>Sat, 09 Dec 2006 19:05:34 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sat, 09 Dec 2006 22:09:53 GMT]]></title><description><![CDATA[<p>es ist aber so. Ich habe per cout &lt;&lt; fName den Inhalt ausgeben lassen und es ist der Dateiname.</p>
<p>Könnten da evtl ncht sichtbare Zeichen Probleme machen, sodass der Dateiname test.txt noch irgendwelche Zeichen hat und deswegen die Datei nicht gefunden wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189273</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189273</guid><dc:creator><![CDATA[deetee]]></dc:creator><pubDate>Sat, 09 Dec 2006 22:09:53 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sat, 09 Dec 2006 22:17:02 GMT]]></title><description><![CDATA[<p>Wo ist das Problem einfach etwas mehr Code zu zeigen? Wir könnten ja raten, denn hellsehen geht zur Zeit nicht da nämlich alle Kristallkugeln im Urlaub sind. Aber da wir keine Rateshow sind, wäre es von Vorteil mehr Code zu zeigen.</p>
<p>Greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189275</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189275</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Sat, 09 Dec 2006 22:17:02 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sun, 10 Dec 2006 02:17:08 GMT]]></title><description><![CDATA[<p>ich gebe per cout (wie gerade beschrieben) fName aus, genau an dieser Stelle, wie ich oben die anderen Ausgaben mache, und ich bekomme &quot;test.txt&quot; ausgegeben.</p>
<p>Ich denke den Code dazu kann sich jeder selbst denken. Wozu also mehr Code, wenn doch der Inhalt dieser Variable sicher feststeht?</p>
<p>Gibt es vielleicht irgendwelche Fehlervariablen, die ich ausgeben lassen kann, um weiterzukommen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189322</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189322</guid><dc:creator><![CDATA[deetee]]></dc:creator><pubDate>Sun, 10 Dec 2006 02:17:08 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sun, 10 Dec 2006 04:05:36 GMT]]></title><description><![CDATA[<p>deetee schrieb:</p>
<blockquote>
<p>ich gebe per cout (wie gerade beschrieben) fName aus, genau an dieser Stelle, wie ich oben die anderen Ausgaben mache, und ich bekomme &quot;test.txt&quot; ausgegeben.</p>
<p>Ich denke den Code dazu kann sich jeder selbst denken. Wozu also mehr Code, wenn doch der Inhalt dieser Variable sicher feststeht?</p>
</blockquote>
<p>kann mir denken, dass da der Fehler drin sien muss...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189325</guid><dc:creator><![CDATA[Ich...]]></dc:creator><pubDate>Sun, 10 Dec 2006 04:05:36 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sun, 10 Dec 2006 08:54:07 GMT]]></title><description><![CDATA[<p>Wenn du nicht willst, dass man dir hilft, warum postest du dann hier überhaupt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189354</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189354</guid><dc:creator><![CDATA[lolz]]></dc:creator><pubDate>Sun, 10 Dec 2006 08:54:07 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sun, 10 Dec 2006 12:03:08 GMT]]></title><description><![CDATA[<p>Meine Güte, hier der Code, wenn ihr meinen Worten nicht glauben wollt. Es ist so wie ich es schon 2mal beschrieben habe:</p>
<pre><code class="language-cpp">void Test :: readFile(string fName)
{
    ifstream tmp;

cout &lt;&lt; fName &lt;&lt; endl; // Ausgabe: test.txt

cout &lt;&lt; tmp.fail() &lt;&lt; endl; // Ausgabe: 0

    tmp.open(fName.c_str(), ios::in);

cout &lt;&lt; tmp.fail() &lt;&lt; endl; // Ausgabe: 1

...
}
</code></pre>
<p>So, und das hat nix damit zu tun, dass ich nicht möchte, dass mir geholfen wird, ich möchte ja, dass man mir hilft. Aber wenn man hier meinen Aussagen keinen Glauben schenkt und das bei so einer simplen Sache wie einer Ausgabe, dann nervt das nur.</p>
<p>Es gibt sicher ein paar Möglichkeiten wo das Problem liegen könnte, aber an der Inhalt ist auf den ersten Blick jedenfalls richtig. Meint ihr, dass hätte ich nicht als erstes geprüft oder was? Hier wird einem erstmal jegliche Kompetenz abgesprochen, wenn man jemandem helfen soll, was?</p>
<p>Und bitte beachtet meine bisherigen Fragen, falls sie einer beantworten kann, wäre das hilfreich. Euer Gejammer ist es jedenfalls nicht wirklich. Und ob euch der Code da oben weiterhilft, sei mal dahingestellt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189429</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189429</guid><dc:creator><![CDATA[deetee]]></dc:creator><pubDate>Sun, 10 Dec 2006 12:03:08 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sun, 10 Dec 2006 12:18:53 GMT]]></title><description><![CDATA[<p>deetee schrieb:</p>
<blockquote>
<p>So, und das hat nix damit zu tun, dass ich nicht möchte, dass mir geholfen wird, ich möchte ja, dass man mir hilft. Aber wenn man hier meinen Aussagen keinen Glauben schenkt und das bei so einer simplen Sache wie einer Ausgabe, dann nervt das nur.</p>
</blockquote>
<p>Es geht nicht darum, dass deinen Aussagen nicht geglaubt wird. Das Problem ist, dass erstens deine Aussagen das Problem nicht erklären konnten (wie auch, nach den Aussagen ist ja alles korrekt) und vor allem du etwas in deinem eigenen Code übersehen haben könntest was du uns dann in deinen Aussagen natürlich nicht darlegen kannst. Vier Augen (oder hier wohl noch ein paar dutzend mehr) sehen nunmal mehr als zwei.</p>
<p>deetee schrieb:</p>
<blockquote>
<p>Es gibt sicher ein paar Möglichkeiten wo das Problem liegen könnte, aber an der Inhalt ist auf den ersten Blick jedenfalls richtig.</p>
</blockquote>
<p>Auf den ersten Blick vielleicht. Irgendwer hat aber schonmal nicht darstellbare Zeichen angesprochen. Die dürftest du am besten mit einem Debugger aufspüren können, jedoch nicht mit einer einfachen Ausgabe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189442</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189442</guid><dc:creator><![CDATA[Der Meister]]></dc:creator><pubDate>Sun, 10 Dec 2006 12:18:53 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sun, 10 Dec 2006 12:28:01 GMT]]></title><description><![CDATA[<p>Schreib an den Anfang deiner Funktion mal ein assert( fname == &quot;test.txt&quot; );<br />
Wenn das einen Fehler liefert, dann weißt du, dass in fname etwas anderes als &quot;test.txt&quot; drin steht.<br />
Und wenn dem so ist, solltest du den gesamten Code posten indem fname verwendet wird und sämtlichen code über den &quot;test.txt&quot; in diese Funktion transportiert wird.</p>
<p>Oder du gehst mit dem Debugger stück für stück durch und beobachtest den Inhalt von fname</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189446</guid><dc:creator><![CDATA[lolz]]></dc:creator><pubDate>Sun, 10 Dec 2006 12:28:01 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sun, 10 Dec 2006 14:17:40 GMT]]></title><description><![CDATA[<p>na also, schon kommt der hinweis der mich weitergebracht hat. mit assert() hab ich jetzt rausgefunden, dass noch ein \n an test.txt dranhängt. dieses gilt es nun zu entfernen, wie, das weiß ich noch nicht. Kennt jemand eine gute Möglichkeit? Eine Funktion die Sonderzeichen bzw. Steuerzeichen aus einem String entfernt, wäre hilfreich, falls es sowas gibt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189518</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189518</guid><dc:creator><![CDATA[deetee]]></dc:creator><pubDate>Sun, 10 Dec 2006 14:17:40 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sun, 10 Dec 2006 16:01:19 GMT]]></title><description><![CDATA[<p>Du kannst das trim aus boost verwenden oder dies:</p>
<pre><code class="language-cpp">struct IsSpace : std::unary_function&lt;char, bool&gt; {
    bool operator()(char c) const {
        return isspace(static_cast&lt;unsigned char&gt;(c)) != 0;
    }
};

void trim(std::string &amp;s) {
    s.erase(s.begin(), std::find_if(s.begin(), s.end(), std::not1(IsSpace())));
    s.erase(std::find_if(s.rbegin(), s.rend(), std::not1(IsSpace())).base(), s.end());
}
</code></pre>
<p>Wie stellst du denn den string zusammen? Falls du ihn aus einem anderen kopierst, reicht es vielleicht einfach ein Zeichen weniger zu kopieren. Ansonsten wenn es wirklich immer nur das eine Zeichen ist kannst du auch dies machen:</p>
<pre><code class="language-cpp">s.erase(s.length()-1);
</code></pre>
<p>erase löscht alle Zeichen ab dem angegebenen index. In diesem Fall also das letzte.</p>
<p>Greetz</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189558</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Sun, 10 Dec 2006 16:01:19 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sun, 10 Dec 2006 16:05:30 GMT]]></title><description><![CDATA[<p>deetee schrieb:</p>
<blockquote>
<p>na also, schon kommt der hinweis der mich weitergebracht hat.</p>
</blockquote>
<p>Hättest du einfach mal den Code gepostet, der für die Initialisierung der Stringvariable zuständig ist (hast du ja nach wie vor nicht), wäre eine hilfreiche Antwort viel früher möglich gewesen.</p>
<blockquote>
<p>mit assert() hab ich jetzt rausgefunden, dass noch ein \n an test.txt dranhängt. dieses gilt es nun zu entfernen, wie, das weiß ich noch nicht.</p>
</blockquote>
<p>Wenn du wirklich nur ein abschließendes '\n' entfernen willst, hilft folgender Aufruf:</p>
<pre><code class="language-cpp">string s = ...;
s.erase(s.size()-1);
</code></pre>
<p>Besser wäre noch:</p>
<pre><code class="language-cpp">string s = ...;
s.erase(s.find_last_not_of(&quot; \t\n\r&quot;)+1);
</code></pre>
<p>In beiden Fällen darf der String nicht leer sein!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189566</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Sun, 10 Dec 2006 16:05:30 GMT</pubDate></item><item><title><![CDATA[Reply to Datei öffnen klappt nicht on Sun, 10 Dec 2006 16:19:26 GMT]]></title><description><![CDATA[<p>danke für eure tipps. ich hab mir jetzt was mit erase() zusammengebastelt. ging am einfachsten für meinen zweck. Sauber ist das irgendwie ja nicht, aber das ist mir erstmal egal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1189574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1189574</guid><dc:creator><![CDATA[deetee]]></dc:creator><pubDate>Sun, 10 Dec 2006 16:19:26 GMT</pubDate></item></channel></rss>