<?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 Datei Zeile ändern]]></title><description><![CDATA[<p>Hallo,<br />
ich habe mittels:</p>
<pre><code class="language-cpp">#define LAENGE 1000
#define ANZAHL 1000
int intline=5;            //zeile 5
int i=0;
char line[LAENGE][ANZAHL];
FILE * pFile;
extern string topicpath;
pFile=fopen(topicpath.c_str(),&quot;r&quot;);
if (pFile!=NULL)
    {
        for(i = 0; i &lt;= intline;i++) 
          {
          if ((fgets(line[i],LAENGE,pFile) != 0)&amp;&amp;(i==intline))
             {
             stringbuffer=line[i];
             }
          }
    fclose (pFile);
    }     
}
</code></pre>
<p>zeile 5 ausgelesen...<br />
diese enthält ca. &quot;5.1 Frühling;5.2 spring;5.3 1;5.4 1277737728.&quot;<br />
danach hab ich sie in &quot;5.1 Frühling;5.2 spring;5.3 2;5.4 1277739000.&quot; geändert ...<br />
bis hierhin hat alles problemlos geklappt -&gt;<br />
mein poblem: wie kann ich diesen barbeiteten string an zeile 5 meiner txt datei schreiben?<br />
MfG Lukas</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/269686/gelöst-txt-datei-zeile-ändern</link><generator>RSS for Node</generator><lastBuildDate>Mon, 31 Aug 2026 00:18:50 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/269686.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Jun 2010 18:38:10 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Gelöst: .txt Datei Zeile ändern on Wed, 30 Jun 2010 11:41:13 GMT]]></title><description><![CDATA[<p>Hallo,<br />
ich habe mittels:</p>
<pre><code class="language-cpp">#define LAENGE 1000
#define ANZAHL 1000
int intline=5;            //zeile 5
int i=0;
char line[LAENGE][ANZAHL];
FILE * pFile;
extern string topicpath;
pFile=fopen(topicpath.c_str(),&quot;r&quot;);
if (pFile!=NULL)
    {
        for(i = 0; i &lt;= intline;i++) 
          {
          if ((fgets(line[i],LAENGE,pFile) != 0)&amp;&amp;(i==intline))
             {
             stringbuffer=line[i];
             }
          }
    fclose (pFile);
    }     
}
</code></pre>
<p>zeile 5 ausgelesen...<br />
diese enthält ca. &quot;5.1 Frühling;5.2 spring;5.3 1;5.4 1277737728.&quot;<br />
danach hab ich sie in &quot;5.1 Frühling;5.2 spring;5.3 2;5.4 1277739000.&quot; geändert ...<br />
bis hierhin hat alles problemlos geklappt -&gt;<br />
mein poblem: wie kann ich diesen barbeiteten string an zeile 5 meiner txt datei schreiben?<br />
MfG Lukas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1919060</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1919060</guid><dc:creator><![CDATA[luckylukas92]]></dc:creator><pubDate>Wed, 30 Jun 2010 11:41:13 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöst: .txt Datei Zeile ändern on Tue, 29 Jun 2010 20:28:58 GMT]]></title><description><![CDATA[<p>Der Ansatz ist für C. Aber auch für C wäre der zweifelhaft: einfach mal 1 MB ungeachtet der tatsächlichen Zeilenanzahl und Zeilenlängen auf dem Stack belegen kann man nicht wirklich bringen.</p>
<p>Ein C++-Umsetzung sieht so aus:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
using namespace std;

int main()
{
  //Datei öffnen
  ifstream inFile(&quot;file.txt&quot;);
  //in lines speichern wir unsere Zeilen
  vector&lt;string&gt; lines;
  //temporärer String für die aktuelle Zeile
  string line;
  //solange noch alles paletti ist und Daten da sind...
  while (inFile.good())
  { //...lese eine Zeile ein und füge sie lines hinzu
    getline(inFile,line);
    lines.push_back(line);
  }
  //ändere die fünfte Zeile
  lines[4]=&quot;changedLine&quot;;
  //Datei schließen
  inFile.close();
  //und im Schreibmodus wieder aufmachen, dabei auf 0 bytes reduzieren (trunc)
  ofstream outFile(&quot;file.txt&quot;,ios::trunc);
  //alle Zeilen in die Datei schreiben
  for (vector&lt;string&gt;::iterator it=lines.begin();it!=lines.end();++it)outFile &lt;&lt; *it &lt;&lt; '\n';
}/*bzw. auto                    it=...*/
</code></pre>
<p>Edit: kommentiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1919071</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1919071</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Tue, 29 Jun 2010 20:28:58 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöst: .txt Datei Zeile ändern on Tue, 29 Jun 2010 19:32:15 GMT]]></title><description><![CDATA[<p>Athar schrieb:</p>
<blockquote>
<pre><code class="language-cpp">}/*bzw. auto                    it=...*/
</code></pre>
</blockquote>
<p>was ist mit auto gemeint?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1919074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1919074</guid><dc:creator><![CDATA[hää]]></dc:creator><pubDate>Tue, 29 Jun 2010 19:32:15 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöst: .txt Datei Zeile ändern on Tue, 29 Jun 2010 19:36:03 GMT]]></title><description><![CDATA[<p>auto ist ein Schlüsselwort des kommenden C++-Standards und veranlasst den Compiler, selbst den richtigen Typ zu bestimmen.<br />
Ich habe es nur als Kommentar angemerkt, weil auto bei älteren Compiler-Versionen noch nicht verfügbar ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1919076</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1919076</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Tue, 29 Jun 2010 19:36:03 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöst: .txt Datei Zeile ändern on Tue, 29 Jun 2010 20:04:22 GMT]]></title><description><![CDATA[<p>hay,<br />
sry, dass ich um dieses vorgekaue bitte... aber könntest du den geposteten code vl anfängerfreundlich kommentieren <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="😃"
    /> ... ich hatte davor nur in autoit programmiert (was mir weitaus leichter erschien/erscheint) -&gt; der wechsel zu c++(bzw. winapi) fällt mir ziemlich schwer, da ich kein buch besitze und man via google oft falsches (bzw c findet , dass als c++ ausgegeben wird) ... was ist ein vektor? ich kenn das bis jetzt nur aus dem schul mathe unterricht<br />
MfG Lukas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1919090</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1919090</guid><dc:creator><![CDATA[luckylukas92]]></dc:creator><pubDate>Tue, 29 Jun 2010 20:04:22 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöst: .txt Datei Zeile ändern on Tue, 29 Jun 2010 20:08:48 GMT]]></title><description><![CDATA[<p>Und genau das ist auch ein Vektor in der Programmierung, nur dass man nicht auf nummerische Werte beschränkt ist, sondern einen Vektor letztendlich wie eine Art Liste benutzen kann.</p>
<p>Es gibt hier im Forum einige hilfreiche Beiträge, welche Bücher man lesen sollte. Eines davon war glaub ich auch ein OpenBook... Einfach mal nachschauen... Wobei man um gute Fachliteratur nicht drum herum kommt. Zudem hat C oder auch C++ nur bedingt was mit der WinAPI zu tun, nämlich nur wenn du Windows spezifische Programme, mit den vom OS bereitgestellten Funktionen programmierst.</p>
<p>Es gibt auch das eine oder andere WikiBook, was nicht sooo schlecht ist, jedoch meistens auch immer hier und da ein bisschen &quot;incomplete&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1919093</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1919093</guid><dc:creator><![CDATA[Blackskyliner]]></dc:creator><pubDate>Tue, 29 Jun 2010 20:08:48 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöst: .txt Datei Zeile ändern on Tue, 29 Jun 2010 20:19:15 GMT]]></title><description><![CDATA[<p><a href="http://www.cplusplus.com/reference/iostream/ifstream/" rel="nofollow">ifstream</a> ist eine Klasse, um Dateien zu lesen.<br />
<a href="http://www.cplusplus.com/reference/iostream/ofstream/" rel="nofollow">ofstream</a> ist eine Klasse, um Dateien zu schreiben.<br />
<a href="http://www.cplusplus.com/reference/string/string" rel="nofollow">string</a> repräsentiert einen String.<br />
<a href="http://www.cplusplus.com/reference/stl/vector/" rel="nofollow">vector</a> ist eine Implementation eines dynamischen Arrays.</p>
<p>Alles weitere zu Memberfunktionen &amp; Co. steht in den verlinkten Seiten der C++-Referenz.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1919099</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1919099</guid><dc:creator><![CDATA[Athar]]></dc:creator><pubDate>Tue, 29 Jun 2010 20:19:15 GMT</pubDate></item><item><title><![CDATA[Reply to Gelöst: .txt Datei Zeile ändern on Wed, 30 Jun 2010 09:14:50 GMT]]></title><description><![CDATA[<p>hay ich wollte mich mal für die nette hilfe bedanken <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /><br />
dank euch klappt jetzt alles und ich hab es sogar geschafft ein paar andere sachen anhand des beispiels zu ändern -&gt; deswegen jetzt nochmal ne kleine frage:<br />
ich möchte aus einem dokument nur eine bestimmte zeile lesen.<br />
die unten stehende funktion klappt bestens, trotzdem wüsste ich gerne ob es die ideale lösung ist ... zu meinem ersten post hab ich ja sofort als antwort bekommen &quot;Der Ansatz ist für C. Aber auch für C wäre der zweifelhaft: einfach mal 1 MB ungeachtet der tatsächlichen Zeilenanzahl und Zeilenlängen auf dem Stack belegen kann man nicht wirklich bringen. &quot; &lt;- verschwende ich hier auch unnötig platz? -&gt; ich lese ja alles aus, will aber nur bis zeile &quot;z.B. 4&quot; ist das verschwendung von resourcen oder ok?</p>
<pre><code class="language-cpp">int randomint;
string frage;
vector&lt;string&gt; lines;
string line;
extern string topicpath;

ifstream inFile (topicpath.c_str());

while (inFile.good())
{ //...lese eine Zeile ein und füge sie lines hinzu
  getline(inFile,line);
  lines.push_back(line);
}
inFile.close();
frage=lines[randomint];
</code></pre>
<p>MfG Lukas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1919299</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1919299</guid><dc:creator><![CDATA[luckylukas92]]></dc:creator><pubDate>Wed, 30 Jun 2010 09:14:50 GMT</pubDate></item></channel></rss>