<?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 beim auslesen einer Datei.]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int main()
{
    char pfad[40];
    FILE *fileobj;
    fileobj = fopen(&quot;ts.f20&quot;, &quot;r&quot;);
    if (fileobj == NULL) {
        cout &lt;&lt; &quot;Fehler beim oeffnen der Datei\n&quot; &lt;&lt; endl;
        return 1;
    }
    else {
        if (fgets(pfad, 256, fileobj) == NULL) {
            if (ferror(fileobj)) {
                perror(&quot;Fehler beim lesen der Datei\n&quot;);
                return 1;
            }
            else {
                cout &lt;&lt; &quot;Alles erfolgreich:\n&quot; &lt;&lt; endl;
              //  cout &lt;&lt; pfad &lt;&lt; endl;
            }
        }
    }
    cout &lt;&lt; &quot;Schluss&quot; &lt;&lt; endl;
    return 0;
</code></pre>
<p>Es wird nur Schluss ausgegeben, obwohl die datei ausgelesen werden soll. Mehr nicht. auch keine meldung das die datei nicht exestiert. Weiß wer warum?</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/219782/problem-beim-auslesen-einer-datei</link><generator>RSS for Node</generator><lastBuildDate>Wed, 07 Oct 2026 19:03:57 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/219782.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 07 Aug 2008 14:57:01 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem beim auslesen einer Datei. on Thu, 07 Aug 2008 14:57:01 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;

using namespace std;

int main()
{
    char pfad[40];
    FILE *fileobj;
    fileobj = fopen(&quot;ts.f20&quot;, &quot;r&quot;);
    if (fileobj == NULL) {
        cout &lt;&lt; &quot;Fehler beim oeffnen der Datei\n&quot; &lt;&lt; endl;
        return 1;
    }
    else {
        if (fgets(pfad, 256, fileobj) == NULL) {
            if (ferror(fileobj)) {
                perror(&quot;Fehler beim lesen der Datei\n&quot;);
                return 1;
            }
            else {
                cout &lt;&lt; &quot;Alles erfolgreich:\n&quot; &lt;&lt; endl;
              //  cout &lt;&lt; pfad &lt;&lt; endl;
            }
        }
    }
    cout &lt;&lt; &quot;Schluss&quot; &lt;&lt; endl;
    return 0;
</code></pre>
<p>Es wird nur Schluss ausgegeben, obwohl die datei ausgelesen werden soll. Mehr nicht. auch keine meldung das die datei nicht exestiert. Weiß wer warum?</p>
<p>lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560923</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560923</guid><dc:creator><![CDATA[fragr]]></dc:creator><pubDate>Thu, 07 Aug 2008 14:57:01 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim auslesen einer Datei. on Thu, 07 Aug 2008 15:22:06 GMT]]></title><description><![CDATA[<p>Wenn deine Datei eingelesen werden konnte, also wenn fgets(pfad, 256, fileobj) nicht NULL zurückgibt muß das ja rauskommen.<br />
Dein zweiter else-Zweig muß eine Klammerebene tiefer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560937</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560937</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 07 Aug 2008 15:22:06 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim auslesen einer Datei. on Thu, 07 Aug 2008 15:23:16 GMT]]></title><description><![CDATA[<p>Öhm, wolltest du jetzt ein C oder ein C++ Programm schreiben? Bis auf deine Standardein- und ausgabe hast du hier reinen C Code vor liegen. In C++ werden Filestreams und keine Filedeskriptoren genutzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560939</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560939</guid><dc:creator><![CDATA[Berufspenner]]></dc:creator><pubDate>Thu, 07 Aug 2008 15:23:16 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim auslesen einer Datei. on Thu, 07 Aug 2008 15:59:36 GMT]]></title><description><![CDATA[<blockquote>
<p>Dein zweiter else-Zweig muß eine Klammerebene tiefer.</p>
</blockquote>
<p>Wie meinst du das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1560960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560960</guid><dc:creator><![CDATA[fragr]]></dc:creator><pubDate>Thu, 07 Aug 2008 15:59:36 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim auslesen einer Datei. on Thu, 07 Aug 2008 16:46:07 GMT]]></title><description><![CDATA[<p>Ich habe mal die öffnenden Klammer eins nach unten gesetzt, da sieht man es besser</p>
<pre><code class="language-cpp">if (fgets(pfad, 256, fileobj) == NULL) // ja bedeutet Fehler
{
    if (ferror(fileobj)) // Hier ein zweiter Fehlertest
    {
        perror(&quot;Fehler beim lesen der Datei\n&quot;);
        return 1;
    } else //jetzt sind wir immer noch beim Fehler
    {
        cout &lt;&lt; &quot;Alles erfolgreich:\n&quot; &lt;&lt; endl;
      //  cout &lt;&lt; pfad &lt;&lt; endl;
    }
}
</code></pre>
<p>Korrekt müsste das wohl so lauten</p>
<pre><code class="language-cpp">if (fgets(pfad, 256, fileobj) == NULL) // ja bedeutet Fehler
{
    if (ferror(fileobj)) // Hier ein zweiter Fehlertest
    {
        perror(&quot;Fehler beim lesen der Datei\n&quot;);
        return 1;
    } else //anderer Fehler
    {
        cout &lt;&lt; &quot;Irgendein Fehler:\n&quot; &lt;&lt; endl;
    }
} else // fgets gibt nicht NULL zurück, also erfolgreich
{
    cout &lt;&lt; &quot;Alles erfolgreich:\n&quot; &lt;&lt; endl;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1560985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1560985</guid><dc:creator><![CDATA[Braunstein]]></dc:creator><pubDate>Thu, 07 Aug 2008 16:46:07 GMT</pubDate></item><item><title><![CDATA[Reply to Problem beim auslesen einer Datei. on Thu, 07 Aug 2008 18:09:04 GMT]]></title><description><![CDATA[<p>Das Array in das du einliest sollte auch mindestens so groß sein wie die max Anzahl der zeichen die du einlesen willst, also 256.</p>
<p>Wenn du C++ Programmieren willst, dann nimm für sowas std::ifstream und std::string</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1561020</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1561020</guid><dc:creator><![CDATA[cädiläg]]></dc:creator><pubDate>Thu, 07 Aug 2008 18:09:04 GMT</pubDate></item></channel></rss>