<?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[GELÖST!!!   .txt zeile ändern]]></title><description><![CDATA[<p>hallo zusammen,</p>
<p>ich habe zum folgenden problem google wie doof durchsucht, auch einiges gefunden, komme aber nicht zum ziel...</p>
<p>ich habe eine .txt welche wiefolgt aussieht:</p>
<h3></h3>
<p>blablablablabla<br />
blablablablabla<br />
blablablablablablabla<br />
blablablablablablabla<br />
blablablablabla<br />
blablablablablablablablabla</p>
<p>die erste zeile mit ### möchte ich durch [Execute] erstzen und die datei wieder speichern. (der restliche inhalt soll erhalten bleiben.</p>
<p>ich weiß wie ich einen string ändere und wie ich in eine datei schreiben kann.<br />
kann dies aber nicht zusammenführen.</p>
<p>wenn ich in die datei schreibe mit datei &lt;&lt; &quot;&quot;;<br />
wird aber immer die komplette datei überschrieben. trotz ios::app(oder verstehe ich das falsch?)<br />
es soll aber nur die erste zeile ersetzt werden</p>
<p>#include &lt;iostream&gt;<br />
#include &lt;fstream&gt;<br />
#include &lt;stdio.h&gt;<br />
#include &lt;windows.h&gt;<br />
#include &lt;time.h&gt;<br />
#include &lt;dos.h&gt;<br />
#include &lt;string&gt;<br />
#include &lt;algorithm&gt;</p>
<p>using namespace std;</p>
<p>int main(){<br />
/*<br />
//Verstecken der Konsole<br />
HWND hwnd = FindWindow(&quot;ConsoleWindowClass&quot;,NULL);<br />
ShowWindow(hwnd,SW_HIDE);<br />
//cout &lt;&lt; &quot;Oo\n&quot;;<br />
*/</p>
<p>int i = 0;</p>
<p>while(i&lt; 2) {</p>
<p>//hier wird geprüft ob .txt vorhanden ist<br />
ifstream fin; //(&quot;C:\\Users\\Jonny\\Desktop\\SFStoINOX\\inox.txt&quot;); //Pfad MUSS zwingend mit zwei \\ angegeben werden!!!<br />
fin.open(&quot;C:\\Users\\Jonny\\Desktop\\SFStoINOX\\inox.txt&quot;, ios_base::in);</p>
<p>string c;<br />
if (fin)<br />
{</p>
<p>//einfaches ändern des strings<br />
cout &lt;&lt; &quot;File found&quot; &lt;&lt; endl;<br />
getline(fin, c);<br />
cout&lt;&lt;c;<br />
c.replace(1,3, &quot;[Execute]&quot;);<br />
cout&lt;&lt;c;</p>
<p>fin.close(); //Datei wieder schließen</p>
<p>//erneut öffnen und in datei schreiben<br />
//jedoch überschreibt er alles troz ios::app<br />
fstream datei;<br />
datei.open(&quot;C:\\Users\\Jonny\\Desktop\\SFStoINOX\\inox.txt&quot;, ios::app);<br />
datei &lt;&lt; &quot;Textdatei schreiben.&quot; &lt;&lt; endl;<br />
datei.close();<br />
}</p>
<p>else<br />
{<br />
cout &lt;&lt; &quot;Could not find file!&quot; &lt;&lt; endl;<br />
}</p>
<p>Sleep(10000);<br />
}</p>
<p>}</p>
<p>Danke schon mal für eure bemühungen!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/273950/gelöst-txt-zeile-ändern</link><generator>RSS for Node</generator><lastBuildDate>Thu, 27 Aug 2026 21:45:28 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/273950.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 16 Sep 2010 10:39:43 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to GELÖST!!!   .txt zeile ändern on Thu, 16 Sep 2010 12:26:22 GMT]]></title><description><![CDATA[<p>hallo zusammen,</p>
<p>ich habe zum folgenden problem google wie doof durchsucht, auch einiges gefunden, komme aber nicht zum ziel...</p>
<p>ich habe eine .txt welche wiefolgt aussieht:</p>
<h3></h3>
<p>blablablablabla<br />
blablablablabla<br />
blablablablablablabla<br />
blablablablablablabla<br />
blablablablabla<br />
blablablablablablablablabla</p>
<p>die erste zeile mit ### möchte ich durch [Execute] erstzen und die datei wieder speichern. (der restliche inhalt soll erhalten bleiben.</p>
<p>ich weiß wie ich einen string ändere und wie ich in eine datei schreiben kann.<br />
kann dies aber nicht zusammenführen.</p>
<p>wenn ich in die datei schreibe mit datei &lt;&lt; &quot;&quot;;<br />
wird aber immer die komplette datei überschrieben. trotz ios::app(oder verstehe ich das falsch?)<br />
es soll aber nur die erste zeile ersetzt werden</p>
<p>#include &lt;iostream&gt;<br />
#include &lt;fstream&gt;<br />
#include &lt;stdio.h&gt;<br />
#include &lt;windows.h&gt;<br />
#include &lt;time.h&gt;<br />
#include &lt;dos.h&gt;<br />
#include &lt;string&gt;<br />
#include &lt;algorithm&gt;</p>
<p>using namespace std;</p>
<p>int main(){<br />
/*<br />
//Verstecken der Konsole<br />
HWND hwnd = FindWindow(&quot;ConsoleWindowClass&quot;,NULL);<br />
ShowWindow(hwnd,SW_HIDE);<br />
//cout &lt;&lt; &quot;Oo\n&quot;;<br />
*/</p>
<p>int i = 0;</p>
<p>while(i&lt; 2) {</p>
<p>//hier wird geprüft ob .txt vorhanden ist<br />
ifstream fin; //(&quot;C:\\Users\\Jonny\\Desktop\\SFStoINOX\\inox.txt&quot;); //Pfad MUSS zwingend mit zwei \\ angegeben werden!!!<br />
fin.open(&quot;C:\\Users\\Jonny\\Desktop\\SFStoINOX\\inox.txt&quot;, ios_base::in);</p>
<p>string c;<br />
if (fin)<br />
{</p>
<p>//einfaches ändern des strings<br />
cout &lt;&lt; &quot;File found&quot; &lt;&lt; endl;<br />
getline(fin, c);<br />
cout&lt;&lt;c;<br />
c.replace(1,3, &quot;[Execute]&quot;);<br />
cout&lt;&lt;c;</p>
<p>fin.close(); //Datei wieder schließen</p>
<p>//erneut öffnen und in datei schreiben<br />
//jedoch überschreibt er alles troz ios::app<br />
fstream datei;<br />
datei.open(&quot;C:\\Users\\Jonny\\Desktop\\SFStoINOX\\inox.txt&quot;, ios::app);<br />
datei &lt;&lt; &quot;Textdatei schreiben.&quot; &lt;&lt; endl;<br />
datei.close();<br />
}</p>
<p>else<br />
{<br />
cout &lt;&lt; &quot;Could not find file!&quot; &lt;&lt; endl;<br />
}</p>
<p>Sleep(10000);<br />
}</p>
<p>}</p>
<p>Danke schon mal für eure bemühungen!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1953298</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1953298</guid><dc:creator><![CDATA[JonnyDaVinci]]></dc:creator><pubDate>Thu, 16 Sep 2010 12:26:22 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST!!!   .txt zeile ändern on Thu, 16 Sep 2010 11:27:28 GMT]]></title><description><![CDATA[<p>wie wärs denn damit:</p>
<p>- File zum lesen öffnen, erste zeile ignorieren, rest in std::vector&lt;string&gt; mit readline() speichern.<br />
- File schliessen<br />
- File zum schreiben öffnen (nicht mit append, sondern überschreiben)<br />
- [execute] reinschreiben<br />
- den kompletten std::vector<a href="std::string" rel="nofollow">std::string</a> reinschreiben (for(int i=0;i&lt;vector.size();++i) usw... )<br />
file schließen</p>
<p>?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1953317</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1953317</guid><dc:creator><![CDATA[padreigh]]></dc:creator><pubDate>Thu, 16 Sep 2010 11:27:28 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST!!!   .txt zeile ändern on Thu, 16 Sep 2010 11:29:15 GMT]]></title><description><![CDATA[<p>Du kannst nicht einfach eine Zeile in einer Textdatei durch eine andere ersetzen. Was passiert denn wohl, wenn der neue Text kürzer oder länger als der Originaltext ist? Daher musst du immer den kompletten Dateiinhalt ab Anfang der ersten ersetzten Stelle neu schreiben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1953320</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1953320</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Thu, 16 Sep 2010 11:29:15 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST!!!   .txt zeile ändern on Thu, 16 Sep 2010 11:35:38 GMT]]></title><description><![CDATA[<p>[quote=&quot;padreigh&quot;]wie wärs denn damit:</p>
<p>- File zum lesen öffnen, erste zeile ignorieren, rest in std::vector&lt;string&gt; mit readline() speichern.<br />
- File schliessen<br />
- File zum schreiben öffnen (nicht mit append, sondern überschreiben)<br />
- [execute] reinschreiben<br />
- den kompletten std::vector<a href="std::string" rel="nofollow">std::string</a> reinschreiben (for(int i=0;i&lt;vector.size();++i) usw... )<br />
file schließen</p>
<p>?[/quote]</p>
<p>DANKE für die Antwort.</p>
<p>Das klingt alles sehr logisch und ich verstehe auch wie es sein soll.</p>
<p>Mir fehlt aber leider das Wissen, wie ich dies nun effektiv in C++ umsetz.</p>
<p>File zum schreiben öffnen..... geht das mit fin.open(&quot;C:\...&quot;, &quot;w&quot; oder &quot;r&quot;?</p>
<p>und das reinschreiben? dann mit fin &lt;&lt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1953323</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1953323</guid><dc:creator><![CDATA[JonnyDaVinci]]></dc:creator><pubDate>Thu, 16 Sep 2010 11:35:38 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST!!!   .txt zeile ändern on Thu, 16 Sep 2010 11:40:31 GMT]]></title><description><![CDATA[<p>Guck dir unter <a href="http://www.cppreference.com/wiki/" rel="nofollow">C++ Reference</a> mal den Punkt C++ IO an, da werden die Methoden der C++ Streamklassen beschrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1953327</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1953327</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Thu, 16 Sep 2010 11:40:31 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST!!!   .txt zeile ändern on Thu, 16 Sep 2010 11:57:00 GMT]]></title><description><![CDATA[<p>ich habs jetz mal soweit verändert</p>
<p>#include &lt;fstream&gt;<br />
#include &lt;strstream&gt;<br />
#include &lt;string&gt;<br />
#include &lt;iostream&gt;<br />
#include &lt;stdlib.h&gt;</p>
<p>using namespace std;</p>
<p>int main ()<br />
{<br />
char zeile [30];<br />
string Seite[20];</p>
<p>ifstream dateiLese (&quot;C:\\Users\\Jonny\\Desktop\\SFStoINOX\\inox.txt&quot;);<br />
ofstream dateiSchreibe (&quot;C:\\Users\\Jonny\\Desktop\\SFStoINOX\\inox.ixm&quot;);<br />
if (dateiLese)<br />
{<br />
int i=0;</p>
<p>while(dateiLese.getline (zeile, 30))<br />
{</p>
<p>Seite[i]=zeile;</p>
<p>dateiSchreibe &lt;&lt;&quot;[Execute]&quot;&lt;&lt;Seite[i] &lt;&lt; &quot;\n&quot;;</p>
<p>i++;<br />
}</p>
<p>dateiLese.close ();<br />
dateiSchreibe.close();<br />
}<br />
}</p>
<p>das execute schreibt er aber jetz in jede zeile.<br />
was muss ich da noch machen, dass das nur in die erste eingefügt wird?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1953336</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1953336</guid><dc:creator><![CDATA[JonnyDaVinci]]></dc:creator><pubDate>Thu, 16 Sep 2010 11:57:00 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST!!!   .txt zeile ändern on Thu, 16 Sep 2010 12:21:37 GMT]]></title><description><![CDATA[<ol>
<li>Wenn du nur die erste Zeile schreiben willst solltest du das while() durch ein anderes Konstrukt ersetzen.<br />
2 )Ausserdem solltest du mit getline in einen string lesen, und nicht in ein char array fester Größe. Wenn die Zeile einmal länger als 30 Zeiche ist schepperts.</li>
<li>Warum liest du die Zeilen in ein 20-elementiges Array ein wenn es std::vector gibt? Wenn die Datei mal länger als 20 Zeilen sein sollte schepperts auch.</li>
<li>Der Header stdlib.h ist veraltet. In C++ bindet man stattdessen cstdlib ein.</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1953352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1953352</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Thu, 16 Sep 2010 12:21:37 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST!!!   .txt zeile ändern on Thu, 16 Sep 2010 12:25:45 GMT]]></title><description><![CDATA[<p>int main ()<br />
{<br />
char zeile [30];<br />
string Seite[20];</p>
<p>ifstream dateiLese (&quot;C:\\Users\\Jonny\\Desktop\\SFStoINOX\\inox.txt&quot;);<br />
ofstream dateiSchreibe (&quot;C:\\Users\\Jonny\\Desktop\\SFStoINOX\\inox.ixm&quot;);<br />
if (dateiLese)<br />
{<br />
int i=0;</p>
<p>while(dateiLese.getline (zeile, 30))<br />
{</p>
<p>Seite[i]=zeile;</p>
<p>if (i==0){<br />
dateiSchreibe &lt;&lt;&quot;[Execute]&quot; &lt;&lt; &quot;\n&quot;;<br />
}</p>
<p>dateiSchreibe &lt;&lt;Seite[i] &lt;&lt; &quot;\n&quot;;</p>
<p>i++;<br />
}</p>
<p>dateiLese.close ();<br />
dateiSchreibe.close();<br />
}<br />
}</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1953355</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1953355</guid><dc:creator><![CDATA[JonnyDaVinci]]></dc:creator><pubDate>Thu, 16 Sep 2010 12:25:45 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST!!!   .txt zeile ändern on Thu, 16 Sep 2010 12:30:24 GMT]]></title><description><![CDATA[<p>Bitte verwende mal die [ cpp ] Tags, den Code so zu lesen ist grausam.<br />
Ungefähr so geht es:</p>
<pre><code class="language-cpp">int main()
{
   string zeile;
   std::vector&lt;string&gt; seite;

   ifstream lesen(&quot;Eingabe.txt&quot;);
   ofstream schreiben(&quot;Ausgabe.txt&quot;);

   if ( lesen )
   {
       int ignore_first = 0;
       while ( !lesen.eof() )
       {
          getline(lesen, zeile);
          ++ignore_first;
          if ( ignore_first != 1 )
              seite.push_back(zeile);
       }
   }
   if ( schreiben )
   {
       schreiben &lt;&lt; &quot;[Execute]&quot; &lt;&lt; std::endl;
       for ( int i = 0; i &gt; seite.size(); i++ )
       {
          schreiben &lt;&lt; seite[i] &lt;&lt; std::endl;
       }
   }

   lesen.close();
   schreiben.close();
}
</code></pre>
<p>Nicht getestet, aber sollte helfen ;).<br />
lg</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1953356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1953356</guid><dc:creator><![CDATA[UnbekannterNr.42]]></dc:creator><pubDate>Thu, 16 Sep 2010 12:30:24 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST!!!   .txt zeile ändern on Thu, 16 Sep 2010 12:33:01 GMT]]></title><description><![CDATA[<p>JonnyDaVinci schrieb:</p>
<blockquote>
<p>int main ()<br />
{<br />
char zeile [30];<br />
string Seite[20];</p>
<p>ifstream dateiLese (&quot;C:\\Users\\Jonny\\Desktop\\SFStoINOX\\inox.txt&quot;);<br />
ofstream dateiSchreibe (&quot;C:\\Users\\Jonny\\Desktop\\SFStoINOX\\inox.ixm&quot;);<br />
if (dateiLese)<br />
{<br />
int i=0;</p>
<p>while(dateiLese.getline (zeile, 30))<br />
{</p>
<p>Seite[i]=zeile;</p>
<p>if (i==0){<br />
dateiSchreibe &lt;&lt;&quot;[Execute]&quot; &lt;&lt; &quot;\n&quot;;<br />
}</p>
<p>dateiSchreibe &lt;&lt;Seite[i] &lt;&lt; &quot;\n&quot;;</p>
<p>i++;<br />
}</p>
<p>dateiLese.close ();<br />
dateiSchreibe.close();<br />
}<br />
}</p>
</blockquote>
<p>Sorry, aber das ist murks. Lies den Post von DocShoe. Irgendwann schepperts...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1953359</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1953359</guid><dc:creator><![CDATA[UnbekannterNr42]]></dc:creator><pubDate>Thu, 16 Sep 2010 12:33:01 GMT</pubDate></item><item><title><![CDATA[Reply to GELÖST!!!   .txt zeile ändern on Thu, 16 Sep 2010 13:24:03 GMT]]></title><description><![CDATA[<p>so geht's auch:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;limits&gt;

int main()
{
    using namespace std;
    ofstream ziel(&quot;inox.ixm&quot;);
    ziel &lt;&lt; &quot;[Execute]&quot; &lt;&lt; endl;    // 1.Zeile neu schreiben
    ifstream quelle(&quot;inox.txt&quot;);
    quelle.ignore( numeric_limits&lt; streamsize &gt;::max(), '\n' ); // 1. Zeile ignorieren
    ziel &lt;&lt; quelle.rdbuf(); // Rest ab Anfang der 2.Zeile nach 'ziel' schreiben

    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1953393</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1953393</guid><dc:creator><![CDATA[Werner_logoff]]></dc:creator><pubDate>Thu, 16 Sep 2010 13:24:03 GMT</pubDate></item></channel></rss>