<?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[File auslesen (letztes Zeichen)]]></title><description><![CDATA[<p>Hallo @ all,<br />
ich habe folgendes Problem:</p>
<p><a href="http://www.ubuntuusers.de/paste/737/" rel="nofollow">http://www.ubuntuusers.de/paste/737/</a> hier erstmal der Code <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="🙂"
    /> &lt;--</p>
<p>Ich möchte zuerst die letzte Zeile der Datei auslesen, jedoch bekomme ich entweder mit (fileReadBuch.open(&quot;buch.txt&quot;, ios::in);) alles oder mit fileReadBuch.open(&quot;buch.txt&quot;, ios::in|ios::ate);) gar nichts.</p>
<p>Mein Ziel ist es nur die Letzte Zeile als Zahl am besten int zu erhalten.</p>
<p>Wäre nice wenn ihr mir eine kurze Hilfe geben könnt.</p>
<p>Gruss Michael</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/144063/file-auslesen-letztes-zeichen</link><generator>RSS for Node</generator><lastBuildDate>Wed, 02 Sep 2026 14:50:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/144063.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 14 Apr 2006 08:48:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to File auslesen (letztes Zeichen) on Fri, 14 Apr 2006 08:48:29 GMT]]></title><description><![CDATA[<p>Hallo @ all,<br />
ich habe folgendes Problem:</p>
<p><a href="http://www.ubuntuusers.de/paste/737/" rel="nofollow">http://www.ubuntuusers.de/paste/737/</a> hier erstmal der Code <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="🙂"
    /> &lt;--</p>
<p>Ich möchte zuerst die letzte Zeile der Datei auslesen, jedoch bekomme ich entweder mit (fileReadBuch.open(&quot;buch.txt&quot;, ios::in);) alles oder mit fileReadBuch.open(&quot;buch.txt&quot;, ios::in|ios::ate);) gar nichts.</p>
<p>Mein Ziel ist es nur die Letzte Zeile als Zahl am besten int zu erhalten.</p>
<p>Wäre nice wenn ihr mir eine kurze Hilfe geben könnt.</p>
<p>Gruss Michael</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1037292</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1037292</guid><dc:creator><![CDATA[dE_MaStEr]]></dc:creator><pubDate>Fri, 14 Apr 2006 08:48:29 GMT</pubDate></item><item><title><![CDATA[Reply to File auslesen (letztes Zeichen) on Fri, 14 Apr 2006 16:11:15 GMT]]></title><description><![CDATA[<p>Dieser Thread wurde von Moderator/in <a href="http://www.c-plusplus.net/forum/profile.php?mode=viewprofile&amp;u=18363" rel="nofollow">Jochen Kalmbach</a> aus dem Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=58" rel="nofollow">C++/CLI mit .NET</a> in das Forum <a href="http://www.c-plusplus.net/forum/viewforum.php?f=15" rel="nofollow">C++</a> verschoben.</p>
<p>Im Zweifelsfall bitte auch folgende Hinweise beachten:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic.php?t=39405" rel="nofollow">C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?</a></p>
<p><em>Dieses Posting wurde automatisch erzeugt.</em></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1037582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1037582</guid><dc:creator><![CDATA[C++ Forumbot]]></dc:creator><pubDate>Fri, 14 Apr 2006 16:11:15 GMT</pubDate></item><item><title><![CDATA[Reply to File auslesen (letztes Zeichen) on Sat, 15 Apr 2006 10:45:14 GMT]]></title><description><![CDATA[<p>Folgende Verbesserungsvorschläge.<br />
1.) Benutze std::string statt char*<br />
2.) Packe das Buch in eine Klasse<br />
3.) Schreibe Streaming-Operatoren für das Buch</p>
<p>wenn Du diese Hürden genommen hast, kannst Du Dir überlegen, wie man die ID des zuletzt geschriebenen Buches bekommt. Der sicherste Weg ist wohl, alle Bücher aus dem File zu lesen und damit auch die Id des letzten Buches. In Code sähe das dann so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;   // std::string; getline

class Buch
{
public:
    Buch()
        : m_erscheinungsjahr( 0 )
    {}

    Buch( const std::string&amp; Name, const std::string&amp; ISBN, const std::string&amp; Autor, const std::string&amp; Verlag, 
        int Erschjahr, const std::string&amp; AusgeliehenVon )
        : m_titel( Name )
        , m_isbn( ISBN )
        , m_autor( Autor )
        , m_verlag( Verlag )
        , m_erscheinungsjahr( Erschjahr )
        , m_ausleiher( AusgeliehenVon )
    {}

    // -- Buch ausgeben
    friend std::ostream&amp; operator&lt;&lt;( std::ostream&amp; out, const Buch&amp; buch )
    {
        using std::endl;
        out &lt;&lt; &quot;\n&quot;&lt;&lt; buch.m_titel &lt;&lt;endl;
        out &lt;&lt; buch.m_isbn &lt;&lt; endl;
        out &lt;&lt; buch.m_autor &lt;&lt; endl;
        out &lt;&lt; buch.m_verlag &lt;&lt; endl;
        out &lt;&lt; buch.m_erscheinungsjahr &lt;&lt; endl;
        out &lt;&lt; buch.m_ausleiher &lt;&lt; endl;
        return out;
    }
    // -- Buch einlesen
    friend std::istream&amp; operator&gt;&gt;( std::istream&amp; in, Buch&amp; buch )
    {
        using std::endl;
        in &gt;&gt; std::ws; // Leerzeile überlesen
        getline( in, buch.m_titel );
        getline( in, buch.m_isbn );
        getline( in, buch.m_autor );
        getline( in, buch.m_verlag );
        in &gt;&gt; buch.m_erscheinungsjahr &gt;&gt; std::ws;
        getline( in, buch.m_ausleiher );
        return in;
    }

private:
    std::string m_titel;
    std::string m_isbn;
    std::string m_autor;
    std::string m_verlag;
    int m_erscheinungsjahr;
    std::string m_ausleiher;
};

int addBuch( const Buch&amp; neuesBuch ) 
{
    using namespace std;
    int id = -1; // keine Id
    {
        ifstream fileReadBuch( &quot;buch.txt&quot; );
        for( Buch buch; fileReadBuch &gt;&gt; buch &gt;&gt; id; )
            ;
    } // schließt das File
    if( id &lt; 0 )
        id = 0;

    ofstream fileBuch( &quot;buch.txt&quot;, ios::app );
    fileBuch &lt;&lt; neuesBuch &lt;&lt; id + 1 &lt;&lt; endl;  // Buch unter der nächsten freien Id ablegen
    return 0;
}

int main()
{
    Buch b1( &quot;TheBlubb&quot;, &quot;034-0827-483&quot;, &quot;Meister&quot;, &quot;Kein Verlag&quot;, 2001, &quot;-&quot; );
    addBuch( b1 ); 

    return 0;
}
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1037818</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1037818</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Sat, 15 Apr 2006 10:45:14 GMT</pubDate></item><item><title><![CDATA[Reply to File auslesen (letztes Zeichen) on Mon, 17 Apr 2006 10:35:14 GMT]]></title><description><![CDATA[<p>Hallo Werner,<br />
nach der Aufgabe muss ich das aber mit char* machen <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="😞"
    /><br />
Wir haben in der Schule so ein Mischmasch von C/C++.</p>
<p>Wir benutzen zwar Klassen jedoch keine String etc., sondern char*.</p>
<p>Ich hab jetzt jedoch eine Lösung gefunden. Ich lese Jede Zeile aus, wandel diese in eine int Variable um und sichere mir diese. Das wiederhole ich und vergleich ob die Zahl gleich oder größer ist. Wenn größer speicher ich wieder diesen wert bis die Datei zuende ist. So hab ich dann den höchst eingetragenen ID Wert.</p>
<p>Ist zwar nicht optimal aber ich probier das mal aus <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>
<p>Ich habe jedoch noch ein Problem mit dem Löschen.<br />
Hier der Code: <a href="http://mandrill.fuxx0r.net/c++/paste:6279" rel="nofollow">http://mandrill.fuxx0r.net/c++/paste:6279</a></p>
<p>Das Problem dabei ist, es wird die betreffende Stelle richtig gelöscht, jedoch werden am Anfang an die Datei komische Zeichen (Ð#Â¿) eingefügt und am ende immer 2 leere Zeilen eingefügt.</p>
<p>Könnte mir jemand sagen wesshalb? Hier die Datei: <a href="http://mandrill.fuxx0r.net/c++/paste:6280" rel="nofollow">http://mandrill.fuxx0r.net/c++/paste:6280</a> (an der Stelle wo 1/2 Leerzeile steht ist normalerweise nichts).</p>
<p>Gruss Michael</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1038938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1038938</guid><dc:creator><![CDATA[dE_MaStEr]]></dc:creator><pubDate>Mon, 17 Apr 2006 10:35:14 GMT</pubDate></item></channel></rss>