<?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[Funktion zum ändern von Daten in einer Datei]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche derzeit folgende Funktion zu schreiben.</p>
<pre><code class="language-cpp">int ChangeData(const char* filename,string data){
    string buf;
    string line;
    fstream in(filename, fstream::in | fstream::out);

    while(getline(in,line))
    buf += line;
    size_t blubb = buf.find(data);
           if(blubb != string::npos){                 // Die richtige Stelle finden
                    size_t abg1 = buf.find('&quot;')       // Von dieser Stelle aus das nächste &quot; ... &quot; suchen                    
                    size_t abg2 = buf.find('&quot;')
                                                      // Alles zwischen &quot; ... &quot; löschen
                                                      // Neue Zahl zwischen &quot; ... &quot; einfügen                                        

                    in.seekg(0);                      // Datei mit dem neu einfügten Wert speichern
                    in.write(buf.c_str(), buf.length());
                    in.close();
                    return 1;                 
                    }
}
</code></pre>
<p>Nur leider komme ich hier an einer entscheidenen Stelle nicht weiter. Mir ist nicht ganz klar, wie ich von einer bestimmten Zeilenposition das nächste '&quot;' suchen kann usw.</p>
<p>Im Endeffekt hatte ich mir das Programm so vorgestellt:<br />
-Es wird nach einem vorgegebnen string gesucht<br />
-Sobald string gefunden müssten die Positonen der folgenden beiden '&quot;' bestimmt werden<br />
-Position vom 2. '&quot;' - Postion vom 1. '&quot;' ergibt die zu löschenden chars<br />
-Nach Position 1. wird nun eine neue double Zahl eingefügt.<br />
-Datei speichern, schließen und fertig</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/301246/funktion-zum-ändern-von-daten-in-einer-datei</link><generator>RSS for Node</generator><lastBuildDate>Wed, 12 Aug 2026 01:00:23 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/301246.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 22 Mar 2012 13:36:32 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Funktion zum ändern von Daten in einer Datei on Thu, 22 Mar 2012 13:36:32 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich versuche derzeit folgende Funktion zu schreiben.</p>
<pre><code class="language-cpp">int ChangeData(const char* filename,string data){
    string buf;
    string line;
    fstream in(filename, fstream::in | fstream::out);

    while(getline(in,line))
    buf += line;
    size_t blubb = buf.find(data);
           if(blubb != string::npos){                 // Die richtige Stelle finden
                    size_t abg1 = buf.find('&quot;')       // Von dieser Stelle aus das nächste &quot; ... &quot; suchen                    
                    size_t abg2 = buf.find('&quot;')
                                                      // Alles zwischen &quot; ... &quot; löschen
                                                      // Neue Zahl zwischen &quot; ... &quot; einfügen                                        

                    in.seekg(0);                      // Datei mit dem neu einfügten Wert speichern
                    in.write(buf.c_str(), buf.length());
                    in.close();
                    return 1;                 
                    }
}
</code></pre>
<p>Nur leider komme ich hier an einer entscheidenen Stelle nicht weiter. Mir ist nicht ganz klar, wie ich von einer bestimmten Zeilenposition das nächste '&quot;' suchen kann usw.</p>
<p>Im Endeffekt hatte ich mir das Programm so vorgestellt:<br />
-Es wird nach einem vorgegebnen string gesucht<br />
-Sobald string gefunden müssten die Positonen der folgenden beiden '&quot;' bestimmt werden<br />
-Position vom 2. '&quot;' - Postion vom 1. '&quot;' ergibt die zu löschenden chars<br />
-Nach Position 1. wird nun eine neue double Zahl eingefügt.<br />
-Datei speichern, schließen und fertig</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194145</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194145</guid><dc:creator><![CDATA[Javun]]></dc:creator><pubDate>Thu, 22 Mar 2012 13:36:32 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion zum ändern von Daten in einer Datei on Thu, 22 Mar 2012 14:22:41 GMT]]></title><description><![CDATA[<p>Brauchst Du diese Infos?<br />
<a href="http://www.cplusplus.com/reference/string/string/" rel="nofollow">http://www.cplusplus.com/reference/string/string/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194185</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194185</guid><dc:creator><![CDATA[Helmut.Jakoby]]></dc:creator><pubDate>Thu, 22 Mar 2012 14:22:41 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion zum ändern von Daten in einer Datei on Thu, 22 Mar 2012 19:51:22 GMT]]></title><description><![CDATA[<p>du könntest die Datei auch einfach am anfang in eine vector&lt;char&gt; einlesen, dann da deine sachen einfügen und dann den vector komplett in ne neue datei schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2194348</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2194348</guid><dc:creator><![CDATA[vario-500]]></dc:creator><pubDate>Thu, 22 Mar 2012 19:51:22 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion zum ändern von Daten in einer Datei on Tue, 27 Mar 2012 12:25:40 GMT]]></title><description><![CDATA[<blockquote>
<p>Nur leider komme ich hier an einer entscheidenen Stelle nicht weiter. Mir ist nicht ganz klar, wie ich von einer bestimmten Zeilenposition das nächste '&quot;' suchen kann usw.</p>
</blockquote>
<p>Keiner der Befehle hier hat mir weitergeholfen: <a href="http://www.cplusplus.com/reference/string/string/" rel="nofollow">http://www.cplusplus.com/reference/string/string/</a></p>
<p>Wir haben ja den Befehl &quot;find&quot; über diesen finde ich das erste '&quot;', so nun möchte ich jedoch auch das 2. '&quot;' finden. Wie sage ich nun dem Befehl &quot;find&quot;, dass er nicht wieder vom Anfang des strings suchen soll, sondern ab der Stelle vom 1. '&quot;'.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2195826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2195826</guid><dc:creator><![CDATA[Javun]]></dc:creator><pubDate>Tue, 27 Mar 2012 12:25:40 GMT</pubDate></item><item><title><![CDATA[Reply to Funktion zum ändern von Daten in einer Datei on Tue, 27 Mar 2012 12:42:42 GMT]]></title><description><![CDATA[<p>Schau mal hier: <a href="http://www.cplusplus.com/reference/string/string/find/" rel="nofollow">http://www.cplusplus.com/reference/string/string/find/</a></p>
<p>Tip: da werden 4 verschiedene Überladungen beschrieben, alle haben einen Parameter namens &quot;pos&quot;. Schau mal, wozu der gut sein könnte, und überleg dir, was du beim zweiten Suchen dort übergeben könntest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2195834</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2195834</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Tue, 27 Mar 2012 12:42:42 GMT</pubDate></item></channel></rss>