<?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[einzelne Zeilen aus .txt löschen]]></title><description><![CDATA[<p>Hi,</p>
<p>wir haben folgendes Problem: wir haben eine Datenbank für Fußballspieler aufgebaut, in welcher man wahlweise, in eine *.txt, Spieler einfügen, anzeigen, hinzufügen oder auch löschen kann. Wir haben dies mit dem ifstream und ofstream Befehlen gehandhabt.<br />
Beim löschen haben wir allerdings ein Problem, da wir es bis jetzt nur geschafft haben, den kompletten Inhalt der *.txt zu löschen. Allerdings möchten wir eine einzelne Zeile, in der durch TAB getrennt jeweils Name, Vorname und Rückennummer aufgelistet sind löschen, um dadurch einen einzelnen Spieler aus der Datenbank herauszunehmen. Hat jemand ne Idee oder ein Beispiel, wie wir da weiter ran gehen können?</p>
<p>THX schonmal.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/165705/einzelne-zeilen-aus-txt-löschen</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 00:30:46 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/165705.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 Nov 2006 11:37:48 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to einzelne Zeilen aus .txt löschen on Wed, 22 Nov 2006 11:37:48 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>wir haben folgendes Problem: wir haben eine Datenbank für Fußballspieler aufgebaut, in welcher man wahlweise, in eine *.txt, Spieler einfügen, anzeigen, hinzufügen oder auch löschen kann. Wir haben dies mit dem ifstream und ofstream Befehlen gehandhabt.<br />
Beim löschen haben wir allerdings ein Problem, da wir es bis jetzt nur geschafft haben, den kompletten Inhalt der *.txt zu löschen. Allerdings möchten wir eine einzelne Zeile, in der durch TAB getrennt jeweils Name, Vorname und Rückennummer aufgelistet sind löschen, um dadurch einen einzelnen Spieler aus der Datenbank herauszunehmen. Hat jemand ne Idee oder ein Beispiel, wie wir da weiter ran gehen können?</p>
<p>THX schonmal.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179145</guid><dc:creator><![CDATA[c++er]]></dc:creator><pubDate>Wed, 22 Nov 2006 11:37:48 GMT</pubDate></item><item><title><![CDATA[Reply to einzelne Zeilen aus .txt löschen on Wed, 22 Nov 2006 11:44:02 GMT]]></title><description><![CDATA[<p>Ich würde zu Programmbeginn die komplette Datei einlesen und in einem vector&lt;spieler&gt; unterbringen und am Ende die geänderte Datei komplett wieder zurückschreiben.<br />
(wenn du die Datei als ios::trunc öfnnest, wird der vorige Inhalt gelöscht)</p>
<p>(ansonsten bietet das Dateisystem idR keine Möglichkeiten, einzelne Dateistückchen neu zusammenzubauen - da kannst du nur die Daten hinter der zu löschenden Zeile auslesen, zwischenspeichern und etwas weiter vorne wieder reinschreiben)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179149</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179149</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 22 Nov 2006 11:44:02 GMT</pubDate></item><item><title><![CDATA[Reply to einzelne Zeilen aus .txt löschen on Wed, 22 Nov 2006 11:58:33 GMT]]></title><description><![CDATA[<p>Aber man muss doch auch dem Programm eine Zeile nennen können, welche er dann auslöschen soll, oder? Das müsste doch irgendwie funktionieren! Denn Programmiertechnisch gesehen, ist es ja schlecht eine ganze Datei in den Puffer zu holen und dort zwischenzuspeichern, oder nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179160</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179160</guid><dc:creator><![CDATA[c++er]]></dc:creator><pubDate>Wed, 22 Nov 2006 11:58:33 GMT</pubDate></item><item><title><![CDATA[Reply to einzelne Zeilen aus .txt löschen on Wed, 22 Nov 2006 12:06:34 GMT]]></title><description><![CDATA[<p>Wenn es das Betriebssystem nicht unterstützt, geht das nicht <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>
<p>Und da Dateien physisch hintereinander auf Platte geschrieben werden, dürfte eine systemeigene &quot;Zeile löschen&quot;-Funktion genau so arbeiten: Datei zwischenspeichern, Ausschnitt löschen und neu schreiben. Eventuell wird das noch soweit optimiert, daß nur der Abschnitt hinter der Löschstelle umkopiert werden muß, aber sehr weit steigern lässt sich das nicht.</p>
<p>Ansonsten solltest du Datei-Operationen auf ein Minimum beschränken. Und anstelle jede Operation (einfügen, löschen, ändern von Datensätzen etc) direkt an die Platte weiterzugeben, solltest du EINMAL alles einlesen (beim Programmstart bzw. beim Load-Befehl), dann auf deiner internen Datenstruktur arbeiten und schließlich EINMAL die Daten schreiben (beim Programmende bzw. beim Save-Befehl).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179168</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Wed, 22 Nov 2006 12:06:34 GMT</pubDate></item><item><title><![CDATA[Reply to einzelne Zeilen aus .txt löschen on Wed, 22 Nov 2006 12:32:28 GMT]]></title><description><![CDATA[<p>c++er schrieb:</p>
<blockquote>
<p>...Das müsste doch irgendwie funktionieren! ...</p>
</blockquote>
<p>&quot;Irgendwie&quot; ist schonmal die Mutter des Mißerfolgs. ... und &quot;müsste&quot; die Hebamme. <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>
<p>c++er schrieb:</p>
<blockquote>
<p>...Denn Programmiertechnisch gesehen, ist es ja schlecht eine ganze Datei in den Puffer zu holen und dort zwischenzuspeichern, oder nicht?</p>
</blockquote>
<p>Nicht unbedingt. Aber wenn Du knapp an Speicher sein solltest, kannst Du auch Zeilenweise (ein File) lesen und (ein anderes) schreiben. Dann brauchst Du Dir nur das Schreiben bei der passenden Zeile &quot;zu verkneifen&quot;. Anschließend noch das Zielfile auf das Quellfile kopieren (mit BetriebssystemAPI) und fertig.</p>
<p>Gruß,</p>
<p>Simon2.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1179200</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1179200</guid><dc:creator><![CDATA[Simon2]]></dc:creator><pubDate>Wed, 22 Nov 2006 12:32:28 GMT</pubDate></item></channel></rss>