<?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[Daten in Datei editieren]]></title><description><![CDATA[<p>Hallo zusammen.</p>
<p>Ich habe gerade ein kleines Problem. Ich will einen bestimmten Datensatz in einer Datei editieren.</p>
<pre><code class="language-cpp">struct bau
{
  char name[30];
  char anzahl[5];
  int anr;
}bauteil[500];
</code></pre>
<p>Das sind die Daten die abgespeichert werden. Ich mache eine Abfrage welchen beuteil[i] ich editieren möchte. Danach wird gefragt was geändert werden soll. Also ob Name, Anzahl oder Artikelnummer(anr). Danach will ich die neuen Daten speichern mit der Funktion :</p>
<pre><code class="language-cpp">void save(void) {
   FILE *save = fopen(&quot;bauteile.dat&quot;,&quot;r+b&quot;);
   if( NULL == save ) {
      save = fopen(&quot;bauteile.dat&quot;,&quot;w+b&quot;);
      if( NULL == save ) {
         fprintf(stderr,&quot;Kann \&quot;bauteile.dat\&quot; nicht öffnen!\n&quot;);
         return;
      }
   }

    fseek(save, 0, SEEK_CUR);
   while(fwrite(&amp;bauteil, sizeof(bauteil), 1, save) != 1)
   {

      fprintf(stderr, &quot;Fehler bei fwrite...!!!\n&quot;);
      return;
   }
   //   FILE-Zeiger wieder frei
   fclose(save);
}
</code></pre>
<p>Die neuen Daten lasse ich so eingeben :</p>
<pre><code class="language-cpp">cout &lt;&lt; &quot;\n\n Bitte geben Sie den neuen Namen ein : &quot;;
                fgets(bauteil[y].name, sizeof(bauteil[y].name), stdin);

                save();
</code></pre>
<p>Irgendwo habe ich einen Denkfehler. Er schreibt die Daten immer nur in den ersten Datensatz. Ich hoffe das ihr das Problem versteht und ihr mir Helfen könnt.</p>
<p>Vielen Dank schonmal im voraus!</p>
<p>Grischa</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/268581/daten-in-datei-editieren</link><generator>RSS for Node</generator><lastBuildDate>Tue, 01 Sep 2026 14:50:26 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/268581.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Jun 2010 09:00:23 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Daten in Datei editieren on Fri, 11 Jun 2010 09:00:23 GMT]]></title><description><![CDATA[<p>Hallo zusammen.</p>
<p>Ich habe gerade ein kleines Problem. Ich will einen bestimmten Datensatz in einer Datei editieren.</p>
<pre><code class="language-cpp">struct bau
{
  char name[30];
  char anzahl[5];
  int anr;
}bauteil[500];
</code></pre>
<p>Das sind die Daten die abgespeichert werden. Ich mache eine Abfrage welchen beuteil[i] ich editieren möchte. Danach wird gefragt was geändert werden soll. Also ob Name, Anzahl oder Artikelnummer(anr). Danach will ich die neuen Daten speichern mit der Funktion :</p>
<pre><code class="language-cpp">void save(void) {
   FILE *save = fopen(&quot;bauteile.dat&quot;,&quot;r+b&quot;);
   if( NULL == save ) {
      save = fopen(&quot;bauteile.dat&quot;,&quot;w+b&quot;);
      if( NULL == save ) {
         fprintf(stderr,&quot;Kann \&quot;bauteile.dat\&quot; nicht öffnen!\n&quot;);
         return;
      }
   }

    fseek(save, 0, SEEK_CUR);
   while(fwrite(&amp;bauteil, sizeof(bauteil), 1, save) != 1)
   {

      fprintf(stderr, &quot;Fehler bei fwrite...!!!\n&quot;);
      return;
   }
   //   FILE-Zeiger wieder frei
   fclose(save);
}
</code></pre>
<p>Die neuen Daten lasse ich so eingeben :</p>
<pre><code class="language-cpp">cout &lt;&lt; &quot;\n\n Bitte geben Sie den neuen Namen ein : &quot;;
                fgets(bauteil[y].name, sizeof(bauteil[y].name), stdin);

                save();
</code></pre>
<p>Irgendwo habe ich einen Denkfehler. Er schreibt die Daten immer nur in den ersten Datensatz. Ich hoffe das ihr das Problem versteht und ihr mir Helfen könnt.</p>
<p>Vielen Dank schonmal im voraus!</p>
<p>Grischa</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910508</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910508</guid><dc:creator><![CDATA[Grischa]]></dc:creator><pubDate>Fri, 11 Jun 2010 09:00:23 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Datei editieren on Fri, 11 Jun 2010 09:04:52 GMT]]></title><description><![CDATA[<p>Wenn du die Datei immer wieder öffnest, dann bist du immer am Dateianfang. Der fseek ändert daran nichts, so wie er dasteht. Müsste eher lauten:</p>
<pre><code class="language-cpp">fseek(save, 0, SEEK_END)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1910513</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910513</guid><dc:creator><![CDATA[Mahlzeit]]></dc:creator><pubDate>Fri, 11 Jun 2010 09:04:52 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Datei editieren on Fri, 11 Jun 2010 10:45:46 GMT]]></title><description><![CDATA[<p>Das mit dem fopen + mode hast du verstanden?<br />
<a href="http://www.cplusplus.com/reference/clibrary/cstdio/fopen/" rel="nofollow">http://www.cplusplus.com/reference/clibrary/cstdio/fopen/</a></p>
<p>Warum nutzt du nicht die in C++ bevorzugte Variante <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
<a href="http://www.cplusplus.com/reference/iostream/fstream/open/" rel="nofollow">http://www.cplusplus.com/reference/iostream/fstream/open/</a></p>
<p>Willst du nur Datensätze anhängen oder Datensätze auch ändern?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1910579</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1910579</guid><dc:creator><![CDATA[f.-th.]]></dc:creator><pubDate>Fri, 11 Jun 2010 10:45:46 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Datei editieren on Sat, 12 Jun 2010 09:02:29 GMT]]></title><description><![CDATA[<p>Ich will bestimmte Datensätze ändern. Dran hängen ist kein Problem. Nur will ich z.B. beim 3. Datensatz den Namen ändern.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1911088</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1911088</guid><dc:creator><![CDATA[Grischa]]></dc:creator><pubDate>Sat, 12 Jun 2010 09:02:29 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Datei editieren on Sat, 12 Jun 2010 16:52:02 GMT]]></title><description><![CDATA[<p>Noch mal die Frage willst du C oder C++ programmieren?</p>
<p>Hier mal ein Weihnachtspräsent:<br />
file:///C:/Cpp/DB/WEIN/WEIN_XXL/viewtopic-var-t-is-129186-and-postdays-is-0-and-postorder_1.html</p>
<p>Ob da nun Wein oder Bauteil steht ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1911338</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1911338</guid><dc:creator><![CDATA[f.-th.]]></dc:creator><pubDate>Sat, 12 Jun 2010 16:52:02 GMT</pubDate></item><item><title><![CDATA[Reply to Daten in Datei editieren on Sat, 12 Jun 2010 16:56:13 GMT]]></title><description><![CDATA[<p>Hier der brauchbare Link, hoffentlich:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-129186-and-postdays-is-0-and-postorder-is-asc-and-start-is-0.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-129186-and-postdays-is-0-and-postorder-is-asc-and-start-is-0.html</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1911339</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1911339</guid><dc:creator><![CDATA[f.-th.]]></dc:creator><pubDate>Sat, 12 Jun 2010 16:56:13 GMT</pubDate></item></channel></rss>