<?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[Letzte Zeile einer .txt löschen]]></title><description><![CDATA[<p>Hallo!<br />
Ich schreibe mit ofstream in eine txt Datei Daten.<br />
Jetzt läuft danz ganze dann so ab das die letzten Zeile der txt mit</p>
<pre><code class="language-cpp">&quot;\n&quot;
</code></pre>
<p>abgeschlossen wird.</p>
<p>Wie kann ich die letzte Zeile und nur die letzte Zeile, also das</p>
<pre><code class="language-cpp">&quot;\n&quot;
</code></pre>
<p>aus der txt mittels einer Funktion entfernen?</p>
<p>habs schon mit</p>
<pre><code class="language-cpp">ofstream schreiben; 
schreiben.open(&quot;datei.txt&quot;,ios::app);
schreiben &lt;&lt; &quot;\b&quot;;
</code></pre>
<p>probiert. allerdings steht dann in der txt in der letzten zeile ein</p>
<pre><code class="language-cpp">
</code></pre>
<p>dankeschön<br />
mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/277849/letzte-zeile-einer-txt-löschen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 16:28:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/277849.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 25 Nov 2010 14:24:46 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 14:24:46 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Ich schreibe mit ofstream in eine txt Datei Daten.<br />
Jetzt läuft danz ganze dann so ab das die letzten Zeile der txt mit</p>
<pre><code class="language-cpp">&quot;\n&quot;
</code></pre>
<p>abgeschlossen wird.</p>
<p>Wie kann ich die letzte Zeile und nur die letzte Zeile, also das</p>
<pre><code class="language-cpp">&quot;\n&quot;
</code></pre>
<p>aus der txt mittels einer Funktion entfernen?</p>
<p>habs schon mit</p>
<pre><code class="language-cpp">ofstream schreiben; 
schreiben.open(&quot;datei.txt&quot;,ios::app);
schreiben &lt;&lt; &quot;\b&quot;;
</code></pre>
<p>probiert. allerdings steht dann in der txt in der letzten zeile ein</p>
<pre><code class="language-cpp">
</code></pre>
<p>dankeschön<br />
mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985635</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985635</guid><dc:creator><![CDATA[tommy0815]]></dc:creator><pubDate>Thu, 25 Nov 2010 14:24:46 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 14:37:55 GMT]]></title><description><![CDATA[<p>Gar nicht. Beziehungsweise nur umständlich. Schreib doch das letzte \n einfach nicht rein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985648</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985648</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 25 Nov 2010 14:37:55 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 14:43:55 GMT]]></title><description><![CDATA[<p>ist leider nicht so einfach, da die daten untereinander geschrieben werden und das durch denn benutzer erfolgt.<br />
also der benutzer gibt was ein - das wird in die datei geschrieben und automatisch wird ein</p>
<pre><code class="language-cpp">&quot;\n&quot;
</code></pre>
<p>angehängt.</p>
<p>hab jetzt mal</p>
<pre><code class="language-cpp">ofstream schreiben; 
schreiben.open(&quot;dvd.txt&quot;,ios::app);
schreiben &lt;&lt; '\b \b';
</code></pre>
<p>probiert. dann kommt in der letzten zeile</p>
<pre><code class="language-cpp">526368
</code></pre>
<p><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="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985649</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985649</guid><dc:creator><![CDATA[tommy0815]]></dc:creator><pubDate>Thu, 25 Nov 2010 14:43:55 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 14:51:23 GMT]]></title><description><![CDATA[<p>tommy0815 schrieb:</p>
<blockquote>
<p>also der benutzer gibt was ein - das wird in die datei geschrieben und automatisch wird ein</p>
<pre><code class="language-cpp">&quot;\n&quot;
</code></pre>
<p>angehängt.</p>
</blockquote>
<p>Was heißt 'automatisch'?<br />
Schreib halt kein &quot;\n&quot; hinter die Benutzereingabe, sondern immer bevor Du die Benutzereingabe in die Datei schreibst.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985652</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985652</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Thu, 25 Nov 2010 14:51:23 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 14:59:11 GMT]]></title><description><![CDATA[<p>tommy0815 schrieb:</p>
<blockquote>
<p>hab jetzt mal</p>
<pre><code class="language-cpp">ofstream schreiben; 
schreiben.open(&quot;dvd.txt&quot;,ios::app);
schreiben &lt;&lt; '\b \b';
</code></pre>
<p>probiert. dann kommt in der letzten zeile</p>
<pre><code class="language-cpp">526368
</code></pre>
<p><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="😃"
    /></p>
</blockquote>
<p>Du hast eine falsche Vorstellung davon, was \b ist. \b ist ein Zeichen wie jedes andere auch und wird entsprechend einfach nur am Ende deiner Datei angehängt. Es hat bei gewissen Konsolen eine Sonderbedeutung, dass bei Eingabe dieses Zeichens das vorherige Zeichen gelöscht wird, aber dies ist bloß eine Konvention besagter Konsolen. Für alles andere gilt dies nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985659</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985659</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 25 Nov 2010 14:59:11 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 15:04:08 GMT]]></title><description><![CDATA[<p>hab ich auch schon drann gedacht.</p>
<p>nur is dann das problem das am anfang der txt dann eine zeile leer bleibt. was dann beim auslesen der txt noch problematischer wäre.<br />
die txt datei wird zeilenweise ausgelesen. somit wären dann alle daten um eine zeile nach unten verschoben und würden dann nicht mehr zu meinen variablen passen die ich zeilenweise zuordne.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985663</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985663</guid><dc:creator><![CDATA[tommy0815]]></dc:creator><pubDate>Thu, 25 Nov 2010 15:04:08 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 15:06:59 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>tommy0815 schrieb:</p>
<blockquote>
<p>hab jetzt mal</p>
<pre><code class="language-cpp">ofstream schreiben; 
schreiben.open(&quot;dvd.txt&quot;,ios::app);
schreiben &lt;&lt; '\b \b';
</code></pre>
<p>probiert. dann kommt in der letzten zeile</p>
<pre><code class="language-cpp">526368
</code></pre>
<p><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="😃"
    /></p>
</blockquote>
<p>Du hast eine falsche Vorstellung davon, was \b ist. \b ist ein Zeichen wie jedes andere auch und wird entsprechend einfach nur am Ende deiner Datei angehängt. Es hat bei gewissen Konsolen eine Sonderbedeutung, dass bei Eingabe dieses Zeichens das vorherige Zeichen gelöscht wird, aber dies ist bloß eine Konvention besagter Konsolen. Für alles andere gilt dies nicht.</p>
</blockquote>
<p>verstehe!<br />
habe im net gelesen das &quot;\b&quot; für backspace stehen soll.<br />
hab mit das so gedacht das ich BACKSPACE einfach als char oder string einlese und denn dann an die letzte stelle der txt schreiben und somit die letzte zeile gelöscht wird.</p>
<p>mfg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985665</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985665</guid><dc:creator><![CDATA[tommy0815]]></dc:creator><pubDate>Thu, 25 Nov 2010 15:06:59 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 15:12:52 GMT]]></title><description><![CDATA[<p>tommy0815 schrieb:</p>
<blockquote>
<p>hab ich auch schon drann gedacht.</p>
<p>nur is dann das problem das am anfang der txt dann eine zeile leer bleibt.</p>
</blockquote>
<p>Dann schreib eben beim ersten Mal kein \n davor.</p>
<blockquote>
<p>was dann beim auslesen der txt noch problematischer wäre.<br />
die txt datei wird zeilenweise ausgelesen. somit wären dann alle daten um eine zeile nach unten verschoben und würden dann nicht mehr zu meinen variablen passen die ich zeilenweise zuordne.</p>
</blockquote>
<p>Moment mal. Du machst das bloß weil du hinterher Probleme beim Auslesen bekommst? Wie bitte kann es dabei zu Problemen kommen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985668</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985668</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 25 Nov 2010 15:12:52 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 15:28:46 GMT]]></title><description><![CDATA[<blockquote>
<p>Dann schreib eben beim ersten Mal kein \n davor.</p>
</blockquote>
<p>würde dann so aussehen:</p>
<p>1. zeile: daten1<br />
2. zeile: daten2<br />
3. zeile: daten3<br />
4. zeile: daten4 daten1<br />
5. zeile: daten2<br />
6. zeile: daten3<br />
7. zeile: daten4 daten1<br />
.<br />
.<br />
.<br />
die daten werden so lange eingelesen bis ein abbruch durch denn benutzer erfolgt.</p>
<blockquote>
<p>Moment mal. Du machst das bloß weil du hinterher Probleme beim Auslesen bekommst? Wie bitte kann es dabei zu Problemen kommen?</p>
</blockquote>
<p>die variable die zeile 4 bzw. 7 zugeordnet ist würde dann gleich zwei verschiedene ergebnisse beinhalten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985676</guid><dc:creator><![CDATA[tommy0815]]></dc:creator><pubDate>Thu, 25 Nov 2010 15:28:46 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 16:00:05 GMT]]></title><description><![CDATA[<p>tommy0815 schrieb:</p>
<blockquote>
<blockquote>
<p>Dann schreib eben beim ersten Mal kein \n davor.</p>
</blockquote>
<p>würde dann so aussehen:</p>
<p>1. zeile: daten1<br />
2. zeile: daten2<br />
3. zeile: daten3<br />
4. zeile: daten4 daten1<br />
5. zeile: daten2<br />
6. zeile: daten3<br />
7. zeile: daten4 daten1<br />
.<br />
.<br />
.<br />
die daten werden so lange eingelesen bis ein abbruch durch denn benutzer erfolgt.</p>
</blockquote>
<p>Dann eben nur beim allerersten Mal nicht. Ist das so schwierig zu verstehen? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<blockquote>
<blockquote>
<p>Moment mal. Du machst das bloß weil du hinterher Probleme beim Auslesen bekommst? Wie bitte kann es dabei zu Problemen kommen?</p>
</blockquote>
<p>die variable die zeile 4 bzw. 7 zugeordnet ist würde dann gleich zwei verschiedene ergebnisse beinhalten.</p>
</blockquote>
<p>Versteh ich nicht, wie dir ein \n hinter dem letzten Datensatz die genannten Schwierigkeiten machen soll. Du brauchst doch bloß zeilenweise einlesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985693</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 25 Nov 2010 16:00:05 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 18:42:33 GMT]]></title><description><![CDATA[<p>tommy0815 schrieb:</p>
<blockquote>
<p>Dann eben nur beim allerersten Mal nicht. Ist das so schwierig zu verstehen?</p>
</blockquote>
<p>Die abfrage der Daten erfolgt doch in einer schleife:</p>
<pre><code>while(bis abruch vom benutzer erfolgt)
{
nimm daten 1 - schreib in txt &quot;\n&quot;
nimm daten 2 - schreib in txt &quot;\n&quot;
nimm daten 3 - schreib in txt &quot;\n&quot;
nimm daten 4 - schreib in txt &quot;\n&quot;
-spring dann wieder zum anfang der while()
}
</code></pre>
<p>tommy0815 schrieb:</p>
<blockquote>
<p>Versteh ich nicht, wie dir ein \n hinter dem letzten Datensatz die genannten Schwierigkeiten machen soll. Du brauchst doch bloß zeilenweise einlesen.</p>
</blockquote>
<p>ich lese die daten aus und die werden in einen vector geschrieben. is nun die letzte zeile mit einem &quot;\n&quot; versehen wird diese auch ausgelesen und der vector initialisiert mit dem default konstruktor. heißt - wenn ich alle daten ausgeben steht zum schluß:<br />
daten 1 = 0<br />
daten 2 = 0<br />
daten 3 = 0<br />
daten 4 = 0</p>
<p>wobei meine daten parameter einer klasse sind.</p>
<p>lösche ich allerdings die letzte zeile, z.B per hand nachträglich aus der txt raus, tritt das problem nicht mehr auf.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985797</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985797</guid><dc:creator><![CDATA[tommy0815]]></dc:creator><pubDate>Thu, 25 Nov 2010 18:42:33 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 18:57:59 GMT]]></title><description><![CDATA[<p>Also schreibst Du doch in der while - Schleife auf jeden Fall vier Mal, oder?</p>
<p>Dann kannst Du doch auch statt:</p>
<p>schreibe daten1\n<br />
schreibe daten2\n<br />
...</p>
<p>erst das \n schreiben:</p>
<p>schreibe \ndaten1<br />
schreibe \ndaten2<br />
...</p>
<p>und schon hast Du nach daten4 kein \n mehr.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985806</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985806</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Thu, 25 Nov 2010 18:57:59 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 19:11:42 GMT]]></title><description><![CDATA[<p>Um die Datei nicht mit \n zu beginnen, machst Du vor der Schleife:</p>
<pre><code class="language-cpp">boolean ErsterSatz = TRUE;
</code></pre>
<p>und in der Schleife beginnst Du mit:</p>
<pre><code class="language-cpp">while(...)
{
   if(!ErsterSatz)
      schreib &quot;\n&quot;;

   ErsterSatz = FALSE;

   schreib daten1;
   schreib &quot;\n&quot;;
   schreib daten2;
   schreib &quot;\n&quot;;
   schreib daten2;
}
</code></pre>
<p>irgendwie so wirst Du zum Ziel kommen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985809</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985809</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Thu, 25 Nov 2010 19:11:42 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Thu, 25 Nov 2010 19:21:13 GMT]]></title><description><![CDATA[<p>Versuche das Ganze so weit wie möglich zu abstrahieren und saubere Methoden zu erstellen. Jede Methode macht <em>eine</em> Sache - und die richtig. Du mischt &quot;nimm Daten&quot; (ich vermute das ist die Eingabe durch den Benutzer?) mit dem Schreiben in die Datei. Trenne die Aufgaben!</p>
<p>In eine Textdatei gehört hinter jede Zeile ein \n. Und genauso liest man sie auch wieder ein. Kein \n gibts nicht.</p>
<p>Das heißt:</p>
<p>- Eine Methode liesVierWerteVonBenutzerInVector( )<br />
- Evtl. testVector( ) // Wertebereich? Plausibilität?<br />
- schreibeVectorInDatei( ) // 4 Zeilen</p>
<p>dann wieder:<br />
- leseVectorAusDatei( ) // 4 Zeilen<br />
- machWasMitDemVector( )</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1985817</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985817</guid><dc:creator><![CDATA[minastaros]]></dc:creator><pubDate>Thu, 25 Nov 2010 19:21:13 GMT</pubDate></item><item><title><![CDATA[Reply to Letzte Zeile einer .txt löschen on Fri, 26 Nov 2010 00:08:57 GMT]]></title><description><![CDATA[<p>Habs jetzt hinbekommen.<br />
Ich schreib einfach solange ein</p>
<pre><code class="language-cpp">&quot;\n&quot;
</code></pre>
<p>nach meinen daten bis ich ans letzte element im vektor komme. beim letzten element überspringe ich dann diesen schritt.</p>
<pre><code class="language-cpp">ofstream f;
	int b=vect.size();
	f.open(&quot;daten.txt&quot;,ios::trunc);
	f.close();

	for (int i=0; i&lt;vect.size(); i++)
	{
		f.open(&quot;daten.txt&quot;,ios::app);
		f&lt;&lt;vect_name[i].daten1()&lt;&lt;&quot;\n&quot;;
		f&lt;&lt;vect_name[i].daten2()&lt;&lt;&quot;\n&quot;;
		f&lt;&lt;vect_name[i].daten3()&lt;&lt;&quot;\n&quot;;
		f&lt;&lt;vect_name[i].daten4()&lt;&lt;&quot;\n&quot;;
		f&lt;&lt;vect_name[i].daten5();
		if (i+1!=b)
		{
			f&lt;&lt;&quot;\n&quot;;
		}
		f.close();
	}
</code></pre>
<p>Danke <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/21506">@minastaros</a> und <a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/22666">@Belli</a><br />
die denkanstöße haben weitergeholfen! <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/1985914</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1985914</guid><dc:creator><![CDATA[tommy0815]]></dc:creator><pubDate>Fri, 26 Nov 2010 00:08:57 GMT</pubDate></item></channel></rss>