<?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[Textdatei&#x2F; Teile eines Strings ändern]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich versuche schon seit Tagen ein Programm zu schreiben, dass eine Datei einliest und meinen Vorgaben entsprechend ändert. In meinem Beispiel `ERSTENS==netter Text` würde ich gerne nur 'ERSTENS==' ersetzen. Es funktioniert aber nur dann, wenn ein Leerzeichen nach dem Gleichzeichen steht. Habt Ihr vielleicht eine Idee, wie es auch ohne Leerzeichen funktionieren könnte?<br />
Vielen Danke <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>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;fstream&gt;

using namespace std;

int main()
{

    string old = &quot;ERSTENS==&quot;;
    string neu = &quot;1.&quot;;

    string old2 = &quot;ZWEITENS==&quot;;
    string neu2 = &quot;2.&quot;;

    string old3 = &quot;drittens=&quot;;
    string neu3 = &quot;3.&quot;;

    ifstream filein(&quot;test.txt&quot;);
    ofstream fileout(&quot;neu.txt&quot;);
    if(!filein || !fileout)
    {
        cout &lt;&lt; &quot;Error !&quot; &lt;&lt; endl;
        return 1;
    }

    string change;

    while(filein &gt;&gt; change)
    {
        if(change == old) change = neu;
        else if(change == old2) change = neu2;
        else if(change == old3) change = neu3;

        change += &quot; &quot;;
        fileout &lt;&lt; change;

   }

    return 0;
}
</code></pre>
<p>Textdatei test.txt</p>
<p>ERSTENS==netter Text<br />
ZWEITENS== ein anderer Text<br />
drittens=und noch mehr Text</p>
<p>Ausgabedatei neu.txt</p>
<p>ERSTENS==netter Text 2. ein anderer Text drittens=und noch mehr Text</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/337345/textdatei-teile-eines-strings-ändern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 18 Apr 2026 06:34:59 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/337345.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 26 Mar 2016 10:18:44 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Textdatei&#x2F; Teile eines Strings ändern on Sat, 26 Mar 2016 10:18:44 GMT]]></title><description><![CDATA[<p>Hallo zusammen,<br />
ich versuche schon seit Tagen ein Programm zu schreiben, dass eine Datei einliest und meinen Vorgaben entsprechend ändert. In meinem Beispiel `ERSTENS==netter Text` würde ich gerne nur 'ERSTENS==' ersetzen. Es funktioniert aber nur dann, wenn ein Leerzeichen nach dem Gleichzeichen steht. Habt Ihr vielleicht eine Idee, wie es auch ohne Leerzeichen funktionieren könnte?<br />
Vielen Danke <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>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;fstream&gt;

using namespace std;

int main()
{

    string old = &quot;ERSTENS==&quot;;
    string neu = &quot;1.&quot;;

    string old2 = &quot;ZWEITENS==&quot;;
    string neu2 = &quot;2.&quot;;

    string old3 = &quot;drittens=&quot;;
    string neu3 = &quot;3.&quot;;

    ifstream filein(&quot;test.txt&quot;);
    ofstream fileout(&quot;neu.txt&quot;);
    if(!filein || !fileout)
    {
        cout &lt;&lt; &quot;Error !&quot; &lt;&lt; endl;
        return 1;
    }

    string change;

    while(filein &gt;&gt; change)
    {
        if(change == old) change = neu;
        else if(change == old2) change = neu2;
        else if(change == old3) change = neu3;

        change += &quot; &quot;;
        fileout &lt;&lt; change;

   }

    return 0;
}
</code></pre>
<p>Textdatei test.txt</p>
<p>ERSTENS==netter Text<br />
ZWEITENS== ein anderer Text<br />
drittens=und noch mehr Text</p>
<p>Ausgabedatei neu.txt</p>
<p>ERSTENS==netter Text 2. ein anderer Text drittens=und noch mehr Text</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2491502</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2491502</guid><dc:creator><![CDATA[cpp123]]></dc:creator><pubDate>Sat, 26 Mar 2016 10:18:44 GMT</pubDate></item><item><title><![CDATA[Reply to Textdatei&#x2F; Teile eines Strings ändern on Sat, 26 Mar 2016 10:31:19 GMT]]></title><description><![CDATA[<p>cpp123 schrieb:</p>
<blockquote>
<p>Habt Ihr vielleicht eine Idee, wie es auch ohne Leerzeichen funktionieren könnte?</p>
</blockquote>
<p>Im Moment liest du String für String ein - wobei immer bis zum nächsten Leerzeichen oder Zeilenende gelesen wird. Deshalb funktioniert es nur, wenn auf z. B. &quot;ERSTENS==&quot; ein Leerzeichen folgt, da du ja anschliessend den gesamten String mit <code>==</code> vergleichst.</p>
<p>Prüfe doch, ob der eingelesene Text mit deinem vorgegebenen String anfängt (den String zu ersetzen musst du dann anders machen, aber das findest du schon raus). Das kannst du mit <code>std::string::find(..)</code> machen. Vielleicht möchtest du mit <code>std::getline(..)</code> auch eher Zeilenweise einlesen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2491504</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2491504</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sat, 26 Mar 2016 10:31:19 GMT</pubDate></item><item><title><![CDATA[Reply to Textdatei&#x2F; Teile eines Strings ändern on Sat, 26 Mar 2016 10:40:26 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Antwort.<br />
Ich habe vor kurzem erst begonnnen, mich mit C++ zu beschäftigen und habe mit find noch keine Erfahrng, werde es aber versuchen. Funktioniert es denn mit meinem Code überhaupt nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2491506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2491506</guid><dc:creator><![CDATA[cpp123]]></dc:creator><pubDate>Sat, 26 Mar 2016 10:40:26 GMT</pubDate></item><item><title><![CDATA[Reply to Textdatei&#x2F; Teile eines Strings ändern on Sat, 26 Mar 2016 16:24:38 GMT]]></title><description><![CDATA[<p>cpp123 schrieb:</p>
<blockquote>
<p>Funktioniert es denn mit meinem Code überhaupt nicht?</p>
</blockquote>
<p>Nein.</p>
<p>Am besten gibst du einmal Zwischenresultate aus - z. B. <code>change</code> , dann kannst du sehen mit was du <code>old</code> , <code>old2</code> und <code>old3</code> vergleichst.</p>
<p>Zusätzlich kannst du mit einem Debugger (z. B. Visual Studio, CodeBlocks, Eclipse...) den Code Anweisung für Anweisung durchgehen und dir die nötigen Überlegungen dazu anstellen.</p>
<p>// Edit</p>
<p>Mit <code>std::getline(..)</code> kannst du auch angeben, bis zu welchem Zeichen du lesen möchtest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2491533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2491533</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sat, 26 Mar 2016 16:24:38 GMT</pubDate></item></channel></rss>