<?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[Dateiende auf newline überprüfen und bei Fehlen einfügen]]></title><description><![CDATA[<p>Wie genau kann ich das letzte Zeichen einer ASCII Datei auf eine newline überprüfen?</p>
<pre><code class="language-cpp">std::fstream ss( file );
ss.seekg( 0, std::ios::end-sizeof(char) );
if( ss.get()!='\n')
{
   ss.seekp( 0, std::ios::end );
   ss &lt;&lt; '\n' &lt;&lt; endl;
}
</code></pre>
<p>funzt leider nicht. Optimal wäre es wenn auch eine Leerzeile als gültiges Ende angesehen wird <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Hiermit möchte ich das Problem einiger Parser umgehen, die abstürzen sobald die letzte Anweisung in der letzten Zeile steht</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/278534/dateiende-auf-newline-überprüfen-und-bei-fehlen-einfügen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 05:32:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/278534.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 08 Dec 2010 14:58:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Dateiende auf newline überprüfen und bei Fehlen einfügen on Wed, 08 Dec 2010 14:58:35 GMT]]></title><description><![CDATA[<p>Wie genau kann ich das letzte Zeichen einer ASCII Datei auf eine newline überprüfen?</p>
<pre><code class="language-cpp">std::fstream ss( file );
ss.seekg( 0, std::ios::end-sizeof(char) );
if( ss.get()!='\n')
{
   ss.seekp( 0, std::ios::end );
   ss &lt;&lt; '\n' &lt;&lt; endl;
}
</code></pre>
<p>funzt leider nicht. Optimal wäre es wenn auch eine Leerzeile als gültiges Ende angesehen wird <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /> Hiermit möchte ich das Problem einiger Parser umgehen, die abstürzen sobald die letzte Anweisung in der letzten Zeile steht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1991506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1991506</guid><dc:creator><![CDATA[Newliner]]></dc:creator><pubDate>Wed, 08 Dec 2010 14:58:35 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiende auf newline überprüfen und bei Fehlen einfügen on Wed, 08 Dec 2010 15:12:49 GMT]]></title><description><![CDATA[<p>Newliner schrieb:</p>
<blockquote>
<p>funzt leider nicht</p>
</blockquote>
<p>Bedeuted?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1991515</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1991515</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Wed, 08 Dec 2010 15:12:49 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiende auf newline überprüfen und bei Fehlen einfügen on Wed, 08 Dec 2010 15:14:53 GMT]]></title><description><![CDATA[<p>Du könntest die Datei ja zeichenweise einlesen und wenn das Dateiende erreicht ist, könntest du das letzte Zeichen überprüfen:</p>
<pre><code class="language-cpp">char c;

while(!ss.eof())
{
    ss.get(c);
}
if(c!='\n')
{
    //Keine Leere Zeile am ende
}
</code></pre>
<p>Das müsste so klappen. Aber vielleicht reicht es ja auch, wenn du einfach noch ein '\n' an die Datei anhängst? Dann hättest du mindestens 1 Leerzeile. (Ist zwar nicht ganz so sauber, aber vielleicht reicht das ja.)</p>
<p>MfG, Jochen</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1991517</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1991517</guid><dc:creator><![CDATA[Jochen S.]]></dc:creator><pubDate>Wed, 08 Dec 2010 15:14:53 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiende auf newline überprüfen und bei Fehlen einfügen on Wed, 08 Dec 2010 15:31:50 GMT]]></title><description><![CDATA[<p>&quot;funzt nicht&quot; im Sinne von: er erkennt bei mir NIE ob ein '\n' oder keins vorhanden ist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1991526</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1991526</guid><dc:creator><![CDATA[Newliner]]></dc:creator><pubDate>Wed, 08 Dec 2010 15:31:50 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiende auf newline überprüfen und bei Fehlen einfügen on Wed, 08 Dec 2010 15:35:44 GMT]]></title><description><![CDATA[<p>versuch es mal so:</p>
<pre><code class="language-cpp">ss.seekg( -1, std::ios::end);
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1991530</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1991530</guid><dc:creator><![CDATA[inter2k3]]></dc:creator><pubDate>Wed, 08 Dec 2010 15:35:44 GMT</pubDate></item><item><title><![CDATA[Reply to Dateiende auf newline überprüfen und bei Fehlen einfügen on Wed, 08 Dec 2010 17:54:06 GMT]]></title><description><![CDATA[<p>So kann man es z.B. machen:</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
using namespace std;

int main()
{
    char c , d = '\n'; 

    fstream datei(&quot;c:/testl.txt&quot;);

    datei.seekg(-1, ios::end);

    datei.read(&amp;c, 1);

    if (c != d)
    {
        datei.seekp(0, ios::end);
        datei.write(&amp;d, 1);
    }
    datei.close();
}
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1991603</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1991603</guid><dc:creator><![CDATA[otto8]]></dc:creator><pubDate>Wed, 08 Dec 2010 17:54:06 GMT</pubDate></item></channel></rss>