<?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[Kundendatenverwaltung löschen]]></title><description><![CDATA[<p>Moin,</p>
<p>ich bin grad dabei ein Kundenverwaqltungsprogramm zu schreiben nur als übung habe schon ein paar sachen reingebracht bin grad an einer stelle die gespeicherten kundendaten zu löschen und weis keinen ansatz.Wenn jemand etwas weis freue mich über jede hilfe ^^^</p>
<pre><code>#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;conio.h&gt;
#include &lt;sstream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;

using namespace std;

int main(int argc, char *argv[])
{
    struct TKunde
    {
          int nr;
          string vorname ;
          string nachname ;

    };
    TKunde KundenFeld [100];
    char Eingabe;
    char cstring[256];
    string Value;
    int DatNr = 0;
    int i,s;
    bool Abbruch = false;
    fstream fKunde;
    char *token;
//void speichern 
//Fpinput = fopen(&quot;kunden.txt&quot;);
for (s=0; s&lt;100; s++)
{
KundenFeld[s].nr=s;    
KundenFeld[s].vorname=&quot;&quot;;
KundenFeld[s].nachname=&quot;&quot;;
}
while (Abbruch == false)
{    
    cout&lt;&lt;&quot;********** Kundendatenverwaltung ***************&quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [n] neuen Kunden anlegen                   &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [a] Alle Kunden Anzeigen                   &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [s] Alle Kundendaten speichern             &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [d] Kundendaten löschen                    &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [e] Kundendaten einzeln anzeigen           &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [f] Kunden suchen                          &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [l] Einlesen der Kundendaten               &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [q] Programm beenden                       &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;*********************************************** &quot; &lt;&lt; endl;
    cout&lt;&lt;endl;
    cout&lt;&lt;&quot;Auswahl: &quot;;
    cin &gt;&gt; Eingabe;

    switch (Eingabe)
    {
    case 'n': 
             system(&quot;cls&quot;);
             cout&lt;&lt;&quot;**************** Neuer Kunde *******************&quot; &lt;&lt; endl;
             cout&lt;&lt;&quot;Geben Sie den Vornamen ein: &quot;;
             cin &gt;&gt; Value;
             KundenFeld[DatNr].nr = DatNr;
             KundenFeld[DatNr].vorname = Value;
             system(&quot;cls&quot;);
             cout&lt;&lt;&quot;**************** Neuer Kunde *******************&quot; &lt;&lt; endl;
             cout&lt;&lt;&quot;Geben Sie den Nachnamen ein: &quot;;
             cin &gt;&gt; Value;
             KundenFeld[DatNr].nachname = Value;
             DatNr=DatNr +1;
             system(&quot;cls&quot;);
             break;
    case 'a':
             system(&quot;cls&quot;);
             cout &lt;&lt; &quot;************** Ausgabe der Kundendaten **************&quot; &lt;&lt; endl;
             for (i = 0; i &lt; DatNr; i++)
             {

                  cout &lt;&lt; &quot; Kundennummer : &quot; &lt;&lt; KundenFeld[i].nr &lt;&lt; endl;
                  cout &lt;&lt; &quot; Vorname      : &quot; &lt;&lt; KundenFeld[i].vorname &lt;&lt; endl;
                  cout &lt;&lt; &quot; Nachname     : &quot; &lt;&lt; KundenFeld[i].nachname &lt;&lt; endl;
                  cout &lt;&lt; endl;    
             }
             break;
    case 's':
fKunde.open(&quot;Kunde.dat&quot;, ios::out);
             for (i = 0; i&lt;100; i++)
             {
                 fKunde &lt;&lt; KundenFeld[i].nr &lt;&lt; &quot;;&quot;;
                 fKunde &lt;&lt; KundenFeld[i].vorname &lt;&lt; &quot;;&quot;;
                 fKunde &lt;&lt; KundenFeld[i].nachname &lt;&lt; &quot;;&quot; &lt;&lt; endl;
             }
             fKunde.close();
             break;

             case 'd':
             system(&quot;cls&quot;);
             cout &lt;&lt; &quot;************** Kundendaten löschen **************&quot; &lt;&lt; endl;
             for (i = 0; i &lt; DatNr; i++)
             {

                  cout &lt;&lt; &quot; Kundennummer : &quot; &lt;&lt; KundenFeld[i].nr &lt;&lt; endl;
                  cout &lt;&lt; &quot; Vorname      : &quot; &lt;&lt; KundenFeld[i].vorname &lt;&lt; endl;
                  cout &lt;&lt; &quot; Nachname     : &quot; &lt;&lt; KundenFeld[i].nachname &lt;&lt; endl;
                  cout &lt;&lt; endl;    
             }
             break;

      case 'q':
             return 0;
             break;

     system(&quot;Pause&quot;);
     }
  }

}
</code></pre>
<p>/edit pumuckl: schließenden code-Tag spendiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/314084/kundendatenverwaltung-löschen</link><generator>RSS for Node</generator><lastBuildDate>Sun, 26 Jul 2026 07:33:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/314084.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 20 Feb 2013 09:24:19 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 09:30:52 GMT]]></title><description><![CDATA[<p>Moin,</p>
<p>ich bin grad dabei ein Kundenverwaqltungsprogramm zu schreiben nur als übung habe schon ein paar sachen reingebracht bin grad an einer stelle die gespeicherten kundendaten zu löschen und weis keinen ansatz.Wenn jemand etwas weis freue mich über jede hilfe ^^^</p>
<pre><code>#include &lt;cstdlib&gt;
#include &lt;iostream&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;conio.h&gt;
#include &lt;sstream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;

using namespace std;

int main(int argc, char *argv[])
{
    struct TKunde
    {
          int nr;
          string vorname ;
          string nachname ;

    };
    TKunde KundenFeld [100];
    char Eingabe;
    char cstring[256];
    string Value;
    int DatNr = 0;
    int i,s;
    bool Abbruch = false;
    fstream fKunde;
    char *token;
//void speichern 
//Fpinput = fopen(&quot;kunden.txt&quot;);
for (s=0; s&lt;100; s++)
{
KundenFeld[s].nr=s;    
KundenFeld[s].vorname=&quot;&quot;;
KundenFeld[s].nachname=&quot;&quot;;
}
while (Abbruch == false)
{    
    cout&lt;&lt;&quot;********** Kundendatenverwaltung ***************&quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [n] neuen Kunden anlegen                   &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [a] Alle Kunden Anzeigen                   &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [s] Alle Kundendaten speichern             &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [d] Kundendaten löschen                    &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [e] Kundendaten einzeln anzeigen           &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [f] Kunden suchen                          &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [l] Einlesen der Kundendaten               &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;     [q] Programm beenden                       &quot; &lt;&lt; endl;
    cout&lt;&lt;&quot;*********************************************** &quot; &lt;&lt; endl;
    cout&lt;&lt;endl;
    cout&lt;&lt;&quot;Auswahl: &quot;;
    cin &gt;&gt; Eingabe;

    switch (Eingabe)
    {
    case 'n': 
             system(&quot;cls&quot;);
             cout&lt;&lt;&quot;**************** Neuer Kunde *******************&quot; &lt;&lt; endl;
             cout&lt;&lt;&quot;Geben Sie den Vornamen ein: &quot;;
             cin &gt;&gt; Value;
             KundenFeld[DatNr].nr = DatNr;
             KundenFeld[DatNr].vorname = Value;
             system(&quot;cls&quot;);
             cout&lt;&lt;&quot;**************** Neuer Kunde *******************&quot; &lt;&lt; endl;
             cout&lt;&lt;&quot;Geben Sie den Nachnamen ein: &quot;;
             cin &gt;&gt; Value;
             KundenFeld[DatNr].nachname = Value;
             DatNr=DatNr +1;
             system(&quot;cls&quot;);
             break;
    case 'a':
             system(&quot;cls&quot;);
             cout &lt;&lt; &quot;************** Ausgabe der Kundendaten **************&quot; &lt;&lt; endl;
             for (i = 0; i &lt; DatNr; i++)
             {

                  cout &lt;&lt; &quot; Kundennummer : &quot; &lt;&lt; KundenFeld[i].nr &lt;&lt; endl;
                  cout &lt;&lt; &quot; Vorname      : &quot; &lt;&lt; KundenFeld[i].vorname &lt;&lt; endl;
                  cout &lt;&lt; &quot; Nachname     : &quot; &lt;&lt; KundenFeld[i].nachname &lt;&lt; endl;
                  cout &lt;&lt; endl;    
             }
             break;
    case 's':
fKunde.open(&quot;Kunde.dat&quot;, ios::out);
             for (i = 0; i&lt;100; i++)
             {
                 fKunde &lt;&lt; KundenFeld[i].nr &lt;&lt; &quot;;&quot;;
                 fKunde &lt;&lt; KundenFeld[i].vorname &lt;&lt; &quot;;&quot;;
                 fKunde &lt;&lt; KundenFeld[i].nachname &lt;&lt; &quot;;&quot; &lt;&lt; endl;
             }
             fKunde.close();
             break;

             case 'd':
             system(&quot;cls&quot;);
             cout &lt;&lt; &quot;************** Kundendaten löschen **************&quot; &lt;&lt; endl;
             for (i = 0; i &lt; DatNr; i++)
             {

                  cout &lt;&lt; &quot; Kundennummer : &quot; &lt;&lt; KundenFeld[i].nr &lt;&lt; endl;
                  cout &lt;&lt; &quot; Vorname      : &quot; &lt;&lt; KundenFeld[i].vorname &lt;&lt; endl;
                  cout &lt;&lt; &quot; Nachname     : &quot; &lt;&lt; KundenFeld[i].nachname &lt;&lt; endl;
                  cout &lt;&lt; endl;    
             }
             break;

      case 'q':
             return 0;
             break;

     system(&quot;Pause&quot;);
     }
  }

}
</code></pre>
<p>/edit pumuckl: schließenden code-Tag spendiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300187</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300187</guid><dc:creator><![CDATA[Elraser1993]]></dc:creator><pubDate>Wed, 20 Feb 2013 09:30:52 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 09:28:41 GMT]]></title><description><![CDATA[<p>1. Minimales Code-Beispiel.<br />
2. Konkrete Fragen stellen.<br />
3. Bei Zeile 3 schon hast du einen Fehler.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300190</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300190</guid><dc:creator><![CDATA[MarcoYolo]]></dc:creator><pubDate>Wed, 20 Feb 2013 09:28:41 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 09:32:40 GMT]]></title><description><![CDATA[<p>eine Reaktion auf die Antworten in <a href="http://www.c-plusplus.net/forum/313887" rel="nofollow">http://www.c-plusplus.net/forum/313887</a> bevor Du neue Fragen stellst wäre auch nicht schlecht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300193</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300193</guid><dc:creator><![CDATA[WTFIsUrQ]]></dc:creator><pubDate>Wed, 20 Feb 2013 09:32:40 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 09:33:06 GMT]]></title><description><![CDATA[<p>Also meine frage ist da er ja nachdem man es gespeichert hat eine datei erstellt in der die kundendaten stehen will ich nun das man bei der auswahl des löschens er alle inhalte der Datei löscht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300194</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300194</guid><dc:creator><![CDATA[Elraser1993]]></dc:creator><pubDate>Wed, 20 Feb 2013 09:33:06 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 09:52:41 GMT]]></title><description><![CDATA[<p>Elraser1993 schrieb:</p>
<blockquote>
<p>Also meine frage ist da er ja nachdem man es gespeichert hat eine datei erstellt in der die kundendaten stehen will ich nun das man bei der auswahl des löschens er alle inhalte der Datei löscht.</p>
</blockquote>
<p>Tut mir Leid, ich verstehe deinen Satz nicht.</p>
<p>Ich rate dir ausserdem zu einem C++-Buch für Anfänger (nicht böse gemeint) nachdem ich den Code von oben überflogen habe.</p>
<p>Ich merke übrigens Ähnlichkeiten zwischen diesem Thread und dem anderen Thread von dir, kann mir also auch durchaus vorstellen, dass dieser Thread gleich endet wie der andere.</p>
<p>Tue dir doch selbst einen gefallen und versuche selbst die Lösung zu finden. Wenn du dabei Probleme hast, kannst du konkrete und spezifische Fragen stellen, die auch viel einfacher und besser beantwortet werden können. Was soll es deinem Lernprozess denn bringen wenn nun jemand deinen Code schnell erweitert und du es sowieso nicht verstehst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300204</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300204</guid><dc:creator><![CDATA[MarcoYolo]]></dc:creator><pubDate>Wed, 20 Feb 2013 09:52:41 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 09:58:21 GMT]]></title><description><![CDATA[<p>wieso versteht das den keiner ^^ ich will nicht das einer meinen code erweitert ich will vllt ne info zu einer funktion oder sowas in der art</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300210</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300210</guid><dc:creator><![CDATA[Elraser1993]]></dc:creator><pubDate>Wed, 20 Feb 2013 09:58:21 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 10:05:33 GMT]]></title><description><![CDATA[<p>Elraser1993 schrieb:</p>
<blockquote>
<p>wieso versteht das den keiner ^^ ich will nicht das einer meinen code erweitert ich will vllt ne info zu einer funktion oder sowas in der art</p>
</blockquote>
<p>Ok - diesen Satz:</p>
<p>Elraser1993 schrieb:</p>
<blockquote>
<p>Also meine frage ist da er ja nachdem man es gespeichert hat eine datei erstellt in der die kundendaten stehen will ich nun das man bei der auswahl des löschens er alle inhalte der Datei löscht.</p>
</blockquote>
<p>verstehe ich auch nicht.</p>
<p>Wenn Du einen Datensatz aus</p>
<pre><code>TKunde KundenFeld [100];
</code></pre>
<p>löschen möchtest, so musst Du ihn zunächst finden - das kann man z.B. mit <a href="http://www.cplusplus.com/reference/algorithm/find_if" rel="nofollow">std::find_if</a> machen und anschließend löschen. Das wäre einfach wenn Du einen <a href="http://www.cplusplus.com/reference/vector/vector" rel="nofollow">std::vector</a> benutzen würdest - der kennt <a href="http://www.cplusplus.com/reference/vector/vector/erase/" rel="nofollow">erase</a>.</p>
<p>Sag' uns doch bitte zunächst einfach, ob es ok für Dich ist, alles aus dem C++-Standard zu nutzen.</p>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300215</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300215</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 20 Feb 2013 10:05:33 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Thu, 12 Jun 2014 10:30:30 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300220</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300220</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Thu, 12 Jun 2014 10:30:30 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 11:05:15 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p><a href="http://www.cplusplus.com/reference/fstream/ofstream/ofstream/" rel="nofollow">std::ofstream::ofstream</a>. Öffne die Datei im Modus <code>ios::trunc</code> und schließe sie wieder.</p>
</blockquote>
<p>Und da out alleine das gleiche macht wie out und trunc zusammen und out sowieso schon der Vorgabemodus ist, reicht sogar ein einfaches Öffnen und Schließen ganz ohne weitere Parameter aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300241</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 20 Feb 2013 11:05:15 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Thu, 12 Jun 2014 10:30:34 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300243</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300243</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Thu, 12 Jun 2014 10:30:34 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 11:35:10 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
</blockquote>
<p>Und remove gibt es auch noch in der cstdio <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/2300258</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300258</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 20 Feb 2013 11:35:10 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Thu, 12 Jun 2014 10:30:38 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300266</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300266</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Thu, 12 Jun 2014 10:30:38 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 18:23:41 GMT]]></title><description><![CDATA[<p>Elraser, kennst du schon den Standard <a href="http://www.duden.de/shop/nachschlagen/duden-die-deutsche-rechtschreibung-2" rel="nofollow">std::deutsch</a>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300435</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300435</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Wed, 20 Feb 2013 18:23:41 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 18:48:40 GMT]]></title><description><![CDATA[<p>Ja, kennt er, er nutzt die Chat-Edition.<br />
dort schreibt man alles klein und ohne satzzeichen.<br />
Diese ist sehr gut für eingebettete Systeme und mobile Geräte geeignet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300445</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300445</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Wed, 20 Feb 2013 18:48:40 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 19:45:25 GMT]]></title><description><![CDATA[<p>Der Übersicht halber würde ich erst mal in Funktionen splitten.</p>
<p>Ein Struct innerhalb einer Funktion deklarieren unschön.</p>
<p>Zu dem scheint mir der Code im copy und paste Endstanden zu sein würde zumindest<br />
die Mischung aus C/C++ Code erklären.</p>
<p>Man kann gutes Gewissens C Funktionen nutzen nur die sollten Sinnvoll dosiert werden.</p>
<p>TKunde könnte zum Beispiel sinnvoller weise in einem Vector untergebracht werden.</p>
<pre><code>system()
</code></pre>
<p>sollte nur im Notfall genutzt werden und ist immer unschön.</p>
<p>10 x std::endl untereinander ? vermutlich wäre ein '\n' sinnvoller in dem Fall.</p>
<p>char cstring[] nur zum spass drinne ?</p>
<p>using namespace std; würde ich mir gar nicht erst angewönnen kann bei späteren Projekten sehr problematisch werden.</p>
<p>Das schöne an structs ist man kann sie direkt in eine Datei schreiben das so neben her.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300457</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300457</guid><dc:creator><![CDATA[Tuxist]]></dc:creator><pubDate>Wed, 20 Feb 2013 19:45:25 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 20:13:34 GMT]]></title><description><![CDATA[<p>Welche C-Funktionen sollte man denn nutzen?<br />
Mir fällt da spontan nur die aus cmath ein, aber die sind ja in C++ alle überladen, also nur halb C.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300458</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300458</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Wed, 20 Feb 2013 20:13:34 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 20:48:14 GMT]]></title><description><![CDATA[<p>Nathan schrieb:</p>
<blockquote>
<p>Welche C-Funktionen sollte man denn nutzen?</p>
</blockquote>
<p>In cstdlib sind so einige Schätzchen die bloß kaum jemand kennt. Und besonders vor C++11 gab es oftmals gar keine Alternative (z.B. Datum und Zeit), wenn man die Standardbibliothek benutzen wollte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300472</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300472</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 20 Feb 2013 20:48:14 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 22:40:12 GMT]]></title><description><![CDATA[<p>oder zum beispiel Low Level funktionen des Betriebsystemes</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300491</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300491</guid><dc:creator><![CDATA[Tuxist]]></dc:creator><pubDate>Wed, 20 Feb 2013 22:40:12 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Wed, 20 Feb 2013 22:43:56 GMT]]></title><description><![CDATA[<p>customerdb.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;sstream&gt; 
#include &quot;customerdb.h&quot;

void CustomerDB::setDBFile(const char *dbfile){
  if(dbfile==NULL)
    return;
  DBFile=dbfile;
}

bool CustomerDB::writeToFile(){
  std::fstream dbfile;
  dbfile.open(DBFile.c_str(), std::ios::out);
  if(!dbfile.is_open()){
    std::cerr &lt;&lt; &quot;Can't open database\n&quot;;
    return false;
  }
  if(Customers.empty()){
    std::cerr &lt;&lt; &quot;No Values set for Writing\n&quot;;
    return false;
  }
  CustomerPos=Customers.begin();
  do{
    if(getId()!=std::string::npos &amp;&amp; getFirstname()!=NULL &amp;&amp; getLastname()!=NULL){
      dbfile &lt;&lt; getId() &lt;&lt; &quot;;&quot; &lt;&lt; getFirstname() &lt;&lt; &quot;;&quot; &lt;&lt; getLastname() &lt;&lt;&quot;\n&quot;;
    }
  }while(nextCostumer());
  dbfile.close();
}

bool CustomerDB::ReadFile(){
  if(DBFile.empty()){
    std::cerr &lt;&lt; &quot;DBPath not Valid\n&quot;;
    return false;
  }
  std::fstream dbfile;
  dbfile.open(DBFile.c_str(), std::ios::in | std::ios::app);
  if(!dbfile.is_open()){
    std::cerr &lt;&lt; &quot;Can't open database\n&quot;;
    return false;
  }
  std::string line;
  while(getline(dbfile,line)){
    size_t splitidpos = line.find(&quot;;&quot;,0);
    if(splitidpos!=std::string::npos){
      std::istringstream idtmp;
      idtmp.str(line.substr(0,splitidpos));
      splitidpos++;
      size_t splitnamepos = line.find(&quot;;&quot;,splitidpos);
      if(splitnamepos!=std::string::npos){
        Customer customer;
        idtmp &gt;&gt; customer.Id;
        customer.Firstname=line.substr(splitidpos,splitnamepos-splitidpos);
        splitnamepos++;
        customer.Lastname=line.substr(splitnamepos,(line.length()-splitnamepos));
        Customers.push_back(customer);
      }
    }
  }
  dbfile.close();
  if(Customers.empty())
    return false;
  CustomerPos=Customers.begin();
  return true;
}

bool CustomerDB::delCustomer(size_t id){
  if(!ReadFile()){
    std::cerr &lt;&lt; &quot;No entries Found in Database\n&quot;;
    return false;
  }
  if(Customers.empty()){
    std::cerr &lt;&lt; &quot;No Values set for Removing\n&quot;;
    return false;
  }
  CustomerPos=Customers.begin();
  do{
    if(getId()==id){
      Customers.erase(CustomerPos);
    }
  }while(nextCostumer());
  return writeToFile();
}

bool CustomerDB::addCostumer(){
  size_t nextid=std::string::npos;
  if(!ReadFile()){
    std::cerr &lt;&lt; &quot;No entries Found in Database\n&quot;;
    nextid=0;
  }else{
    nextid=(Customers.rbegin()-&gt;Id+1);
  }
  if(Firstname.empty() &amp;&amp; Lastname.empty()){
    std::cerr &lt;&lt; &quot;First or Lastname not set\n&quot;;
    return false;
  }
  Customer customer;
  customer.Id=nextid;
  customer.Firstname=Firstname;
  customer.Lastname=Lastname;
  Customers.push_back(customer);
  return writeToFile();
}

void CustomerDB::setFirstname(const char *firstname){
  if(firstname==NULL){
    Firstname.clear();
    return;
  }
  Firstname=firstname;
}

void CustomerDB::setLastname(const char *lastname){
  if(lastname==NULL){
    Lastname.clear();
    return;
  }
  Lastname=lastname;
}

size_t CustomerDB::getId(){
  return CustomerPos-&gt;Id;
}

const char *CustomerDB::getFirstname(){
  return CustomerPos-&gt;Firstname.c_str();
}

const char *CustomerDB::getLastname(){
  return CustomerPos-&gt;Lastname.c_str();
}

bool CustomerDB::nextCostumer(){
  CustomerPos++;
  if(CustomerPos!=Customers.end()){
    return true;
  }else{
    CustomerPos=Customers.begin();
    return false;
  }
}
</code></pre>
<p>customerdb.h</p>
<pre><code>#include &lt;string&gt;
#include &lt;vector&gt;

struct Customer {
  size_t Id;
  std::string Firstname;
  std::string Lastname;
};

class CustomerDB { 
public:
  void setDBFile(const char *dbfile);
  bool ReadFile();
  void setFirstname(const char *firstname);
  void setLastname(const char *lastname);
  size_t getId();
  const char *getFirstname();
  const char *getLastname();
  bool delCustomer(size_t id);
  bool addCostumer();
  bool nextCostumer();
private:
  bool writeToFile();
  std::string DBFile;
  std::string Firstname;
  std::string Lastname;
  std::vector&lt;Customer&gt; Customers;
  std::vector&lt;Customer&gt;::iterator CustomerPos;
};
</code></pre>
<p>customer.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &quot;customer.h&quot;

CustomerInterface::CustomerInterface(const char *dbfile){
  Customerdb = new CustomerDB();
  Customerdb-&gt;setDBFile(dbfile);
}

CustomerInterface::~CustomerInterface(){
  delete Customerdb;
}

void CustomerInterface::addCustomer(){
  std::string firstname,lastname;
  std::cout &lt;&lt; &quot;Enter Firstname: &quot;;
  std::cin &gt;&gt; firstname;
  std::cout &lt;&lt; &quot;Enter Lastname: &quot;;
  std::cin &gt;&gt; lastname;
  Customerdb-&gt;setFirstname(firstname.c_str());
  Customerdb-&gt;setLastname(lastname.c_str());
  Customerdb-&gt;addCostumer();
}

void CustomerInterface::delCostumer(){
  int id;
  std::cout &lt;&lt; &quot;Insert ID for removing\n&quot;;
  std::cin &gt;&gt; id;
  Customerdb-&gt;delCustomer(id);
}

void CustomerInterface::showCostumers(){
  if(!Customerdb-&gt;ReadFile()){
    return;
  }
  do{
    std::cout &lt;&lt; &quot;Id: &quot; &lt;&lt; Customerdb-&gt;getId() &lt;&lt; &quot;\n&quot;;
    std::cout &lt;&lt; &quot;Firstname: &quot; &lt;&lt; Customerdb-&gt;getFirstname() &lt;&lt; &quot;\n&quot;;
    std::cout &lt;&lt; &quot;Lastname: &quot; &lt;&lt; Customerdb-&gt;getLastname() &lt;&lt; &quot;\n&quot;;
    std::cout &lt;&lt; &quot;__________________\n&quot;;
  }while(Customerdb-&gt;nextCostumer());
}
</code></pre>
<p>customer.h</p>
<pre><code>#include &quot;customerdb.h&quot;

class CustomerInterface {
public:
  CustomerInterface(const char *dbfile);
  ~CustomerInterface();
  void addCustomer();
  void delCostumer();
  void showCostumers();
private:
  CustomerDB *Customerdb;
};
</code></pre>
<p>main.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &quot;customer.h&quot;

int main(){
  char input;
  std::cin &gt;&gt; input;
  CustomerInterface *CstIntf = new CustomerInterface(&quot;/tmp/cstdb.csv&quot;);
  switch(input){
    case 'a':
      CstIntf-&gt;addCustomer();
      break;
    case 'r':
      CstIntf-&gt;delCostumer();
      break;
    case 's':
      CstIntf-&gt;showCostumers();
      break;
  }
  delete CstIntf;
  return 0;
}
</code></pre>
<p>Irgendwie ist meine Laune heute gut <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/2300492</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300492</guid><dc:creator><![CDATA[Tuxist]]></dc:creator><pubDate>Wed, 20 Feb 2013 22:43:56 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Thu, 12 Jun 2014 10:30:42 GMT]]></title><description><![CDATA[<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300509</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300509</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Thu, 12 Jun 2014 10:30:42 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Thu, 21 Feb 2013 05:34:05 GMT]]></title><description><![CDATA[<pre><code>#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;sstream&gt; 
#include &quot;customerdb.h&quot;

void CustomerDB::setDBFile(const char *dbfile){//konstruktor statt setter
  if(dbfile==NULL)//assert
    return;
  DBFile=dbfile;
}

bool CustomerDB::writeToFile(){//void
  std::fstream dbfile;
  dbfile.open(DBFile.c_str(), std::ios::out);//konstruktore benutzen
  if(!dbfile.is_open()){//exception benutzen und durchrauschen lassen
    std::cerr &lt;&lt; &quot;Can't open database\n&quot;;
    return false;
  }
  if(Customers.empty()){//geht dich gar nix an
    std::cerr &lt;&lt; &quot;No Values set for Writing\n&quot;;
    return false;
  }
  CustomerPos=Customers.begin();//for
  do{
    if(getId()!=std::string::npos &amp;&amp; getFirstname()!=NULL &amp;&amp; getLastname()!=NULL){//geht wieder keinen was an
//die psychohygiene der Namen muss echt woanders passieren
      dbfile &lt;&lt; getId() &lt;&lt; &quot;;&quot; &lt;&lt; getFirstname() &lt;&lt; &quot;;&quot; &lt;&lt; getLastname() &lt;&lt;&quot;\n&quot;;//''
    }
  }while(nextCostumer());//och nö. ++
  dbfile.close();//destruktor
}

bool CustomerDB::ReadFile(){//nagut, aber bool nur für parserfehler
  if(DBFile.empty()){//geht wieder keinen was an
    std::cerr &lt;&lt; &quot;DBPath not Valid\n&quot;;//oh, wir schreiben nach cerr. mach dir mal gedanken
    return false;
  }
  std::fstream dbfile;//konstruktor
  dbfile.open(DBFile.c_str(), std::ios::in | std::ios::app);//app für read? 
  if(!dbfile.is_open()){//siehe oben
    std::cerr &lt;&lt; &quot;Can't open database\n&quot;;
    return false;
  }
  std::string line;//zeig das Werner und er mach Dich einen Kopf kürzer
  while(getline(dbfile,line)){//dito
    size_t splitidpos = line.find(&quot;;&quot;,0);//dito
    if(splitidpos!=std::string::npos){//und dito bis unten
      std::istringstream idtmp;
      idtmp.str(line.substr(0,splitidpos));
      splitidpos++;
      size_t splitnamepos = line.find(&quot;;&quot;,splitidpos);
      if(splitnamepos!=std::string::npos){
        Customer customer;
        idtmp &gt;&gt; customer.Id;
        customer.Firstname=line.substr(splitidpos,splitnamepos-splitidpos);
        splitnamepos++;
        customer.Lastname=line.substr(splitnamepos,(line.length()-splitnamepos));
        Customers.push_back(customer);
      }
    }
  }
  dbfile.close();//destruktor
  if(Customers.empty())//geht dich nix an
    return false;
  CustomerPos=Customers.begin();//dafür muss ich dich hauen
  return true;//irrelevant
}

bool CustomerDB::delCustomer(size_t id){//diese
  if(!ReadFile()){//funktion
    std::cerr &lt;&lt; &quot;No entries Found in Database\n&quot;;//tut
    return false;//mir
  }//weh
  if(Customers.empty()){
    std::cerr &lt;&lt; &quot;No Values set for Removing\n&quot;;
    return false;
  }
  CustomerPos=Customers.begin();
  do{
    if(getId()==id){
      Customers.erase(CustomerPos);
    }
  }while(nextCostumer());
  return writeToFile();
}

bool CustomerDB::addCostumer(){//es reicht. ich weigere mich, das weiter zu lesen
  size_t nextid=std::string::npos;
  if(!ReadFile()){
    std::cerr &lt;&lt; &quot;No entries Found in Database\n&quot;;
    nextid=0;
  }else{
    nextid=(Customers.rbegin()-&gt;Id+1);
  }
  if(Firstname.empty() &amp;&amp; Lastname.empty()){
    std::cerr &lt;&lt; &quot;First or Lastname not set\n&quot;;
    return false;
  }
  Customer customer;
  customer.Id=nextid;
  customer.Firstname=Firstname;
  customer.Lastname=Lastname;
  Customers.push_back(customer);
  return writeToFile();
}

void CustomerDB::setFirstname(const char *firstname){
  if(firstname==NULL){
    Firstname.clear();
    return;
  }
  Firstname=firstname;
}

void CustomerDB::setLastname(const char *lastname){
  if(lastname==NULL){
    Lastname.clear();
    return;
  }
  Lastname=lastname;
}

size_t CustomerDB::getId(){
  return CustomerPos-&gt;Id;
}

const char *CustomerDB::getFirstname(){
  return CustomerPos-&gt;Firstname.c_str();
}

const char *CustomerDB::getLastname(){
  return CustomerPos-&gt;Lastname.c_str();
}

bool CustomerDB::nextCostumer(){
  CustomerPos++;
  if(CustomerPos!=Customers.end()){
    return true;
  }else{
    CustomerPos=Customers.begin();
    return false;
  }
}
</code></pre>
<p>customerdb.h</p>
<pre><code>#include &lt;string&gt;
#include &lt;vector&gt;

struct Customer {
  size_t Id;
  std::string Firstname;
  std::string Lastname;
};

class CustomerDB { 
public:
  void setDBFile(const char *dbfile);
  bool ReadFile();
  void setFirstname(const char *firstname);
  void setLastname(const char *lastname);
  size_t getId();
  const char *getFirstname();
  const char *getLastname();
  bool delCustomer(size_t id);
  bool addCostumer();
  bool nextCostumer();
private:
  bool writeToFile();
  std::string DBFile;
  std::string Firstname;
  std::string Lastname;
  std::vector&lt;Customer&gt; Customers;
  std::vector&lt;Customer&gt;::iterator CustomerPos;
};
</code></pre>
<p>customer.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &quot;customer.h&quot;

CustomerInterface::CustomerInterface(const char *dbfile){
  Customerdb = new CustomerDB();
  Customerdb-&gt;setDBFile(dbfile);
}

CustomerInterface::~CustomerInterface(){
  delete Customerdb;
}

void CustomerInterface::addCustomer(){
  std::string firstname,lastname;
  std::cout &lt;&lt; &quot;Enter Firstname: &quot;;
  std::cin &gt;&gt; firstname;
  std::cout &lt;&lt; &quot;Enter Lastname: &quot;;
  std::cin &gt;&gt; lastname;
  Customerdb-&gt;setFirstname(firstname.c_str());
  Customerdb-&gt;setLastname(lastname.c_str());
  Customerdb-&gt;addCostumer();
}

void CustomerInterface::delCostumer(){
  int id;
  std::cout &lt;&lt; &quot;Insert ID for removing\n&quot;;
  std::cin &gt;&gt; id;
  Customerdb-&gt;delCustomer(id);
}

void CustomerInterface::showCostumers(){
  if(!Customerdb-&gt;ReadFile()){
    return;
  }
  do{
    std::cout &lt;&lt; &quot;Id: &quot; &lt;&lt; Customerdb-&gt;getId() &lt;&lt; &quot;\n&quot;;
    std::cout &lt;&lt; &quot;Firstname: &quot; &lt;&lt; Customerdb-&gt;getFirstname() &lt;&lt; &quot;\n&quot;;
    std::cout &lt;&lt; &quot;Lastname: &quot; &lt;&lt; Customerdb-&gt;getLastname() &lt;&lt; &quot;\n&quot;;
    std::cout &lt;&lt; &quot;__________________\n&quot;;
  }while(Customerdb-&gt;nextCostumer());
}
</code></pre>
<p>customer.h</p>
<pre><code>#include &quot;customerdb.h&quot;

class CustomerInterface {
public:
  CustomerInterface(const char *dbfile);
  ~CustomerInterface();
  void addCustomer();
  void delCostumer();
  void showCostumers();
private:
  CustomerDB *Customerdb;
};
</code></pre>
<p>main.cpp</p>
<pre><code>#include &lt;iostream&gt;
#include &quot;customer.h&quot;

int main(){
  char input;
  std::cin &gt;&gt; input;
  CustomerInterface *CstIntf = new CustomerInterface(&quot;/tmp/cstdb.csv&quot;);
  switch(input){
    case 'a':
      CstIntf-&gt;addCustomer();
      break;
    case 'r':
      CstIntf-&gt;delCostumer();
      break;
    case 's':
      CstIntf-&gt;showCostumers();
      break;
  }
  delete CstIntf;
  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2300519</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300519</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 21 Feb 2013 05:34:05 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Thu, 21 Feb 2013 07:34:27 GMT]]></title><description><![CDATA[<p>Warum sollte ich während die ganz Zeit während ich die Klasse die benutze die Datei geöffnet lassen ? Lasse ich die Tür ganzen Tag auf nur weil zweimal am Tag<br />
rein und raus gehe ?</p>
<p>Die for schleife wäre eleganter gewesen und std::ios::app darf dort nicht rein zu meiner Entschuldigung war schon spät.</p>
<p>Die exeption hätte man durch aus verwenden können aber nen Rückgabe für Schreibfunktion halt ich durch aus für Sinnvoll es könnte gut sein spätere Prozesse brauchen und den nächsten schritt auszuführen.</p>
<p>std::string line = &quot;&quot;; wenn glücklich macht aber sie ist eh nur nur local und wird von getline befüllt.</p>
<p>Das ReadFile den iterator zurückgesetzt halt ich durchaus für Sinvoll nen Buch fange ich auch nicht in der mitte an zulesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300531</guid><dc:creator><![CDATA[Tuxi]]></dc:creator><pubDate>Thu, 21 Feb 2013 07:34:27 GMT</pubDate></item><item><title><![CDATA[Reply to Kundendatenverwaltung löschen on Thu, 21 Feb 2013 08:00:16 GMT]]></title><description><![CDATA[<p>Tuxi schrieb:</p>
<blockquote>
<p>Warum sollte ich während die ganz Zeit während ich die Klasse die benutze die Datei geöffnet lassen ?</p>
</blockquote>
<p>Du plenkst.<br />
Habe nie vorgeschlagen, die Datei offen zzu lassen.</p>
<p>Tuxi schrieb:</p>
<blockquote>
<p>Lasse ich die Tür ganzen Tag auf nur weil zweimal am Tag rein und raus gehe ?</p>
</blockquote>
<p>Du plenkst.<br />
Ich lasse meine Türen auf.</p>
<p>Tuxi schrieb:</p>
<blockquote>
<p>Die for schleife wäre eleganter gewesen</p>
</blockquote>
<p>Welches for? Man erkennt EOF erst, wenn man es gelesen hat.</p>
<p>Tuxi schrieb:</p>
<blockquote>
<p>und std::ios::app darf dort nicht rein zu meiner Entschuldigung war schon spät.</p>
</blockquote>
<p>Jo, aber das ist der unwichtigste Punkt.</p>
<p>Tuxi schrieb:</p>
<blockquote>
<p>Die exeption hätte man durch aus verwenden können aber nen Rückgabe für Schreibfunktion halt ich durch aus für Sinnvoll es könnte gut sein spätere Prozesse brauchen und den nächsten schritt auszuführen.</p>
</blockquote>
<p>Du blähst Deinen Code aufs Doppelte auf mit der nutzlosten Fehlerbehandlung überall. Benutze doch einfach C++, statt deinen armen Compiler und noch ärmeren Moderator mit C zu quälen.</p>
<p>Tuxi schrieb:</p>
<blockquote>
<p>std::string line = &quot;&quot;; wenn glücklich macht aber sie ist eh nur nur local und wird von getline befüllt.</p>
</blockquote>
<p>Hä? Nö! std::string line = &quot;&quot;; frißt nur Ressourcen und ist viel schlechter lesbar als std::string line;<br />
Dir fragliche Frage ist, ob man überhaupt die Zeilen erst in Strings tuten tun muss, um sie dann nochmal zu lesen.<br />
Und ausgerechnet Formatfehler gibst Du nicht hoch, sondern nur den unwichtigen Kram. Hast Du nen Kumpel, der für Dich das Debugging übernimmt?</p>
<p>Tuxi schrieb:</p>
<blockquote>
<p>Das ReadFile den iterator zurückgesetzt halt ich durchaus für Sinvoll nen Buch fange ich auch nicht in der mitte an zulesen.</p>
</blockquote>
<p>Aber der Iterator selber ist keine gute Idee. Buch?</p>
<p>Die Ärger/Code-Dichte verbessert sich nicht nach unten hin. Ah, Buch. Du musst dringend Bücher lesen, die von nach 1985 sind und vor allem von guten Autoren sind. Außerdem meide den Wolf. Und Bücher, die extrem schnellen Erfolg versprechen. Kannst als Schnelltest nehmen, ob sie im Code new/delete so sinnlos verwenden wie Du. Wenn ja, lies sie nicht. Wenn sie es ein wenig öfter verwenden, lies sie nicht. Wenn sie es ein wenig seltener verwenden, lies sie nicht. Findest Du ein .close(), lies sie erst recht nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2300541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2300541</guid><dc:creator><![CDATA[volkard]]></dc:creator><pubDate>Thu, 21 Feb 2013 08:00:16 GMT</pubDate></item></channel></rss>