<?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[Nachfolgende Zeile nach iterator umsetzung mit getline einlesen]]></title><description><![CDATA[<p>i, Ich habe folgende datei:</p>
<blockquote>
<p>111<br />
111<br />
111<br />
||test<br />
222<br />
222<br />
222<br />
59<br />
||lol<br />
333<br />
333<br />
333<br />
56<br />
6</p>
</blockquote>
<p>Ich ermittel wieviele Zeichen es bis zu dem ||lol sind indem ich das in einem string einfüge und dann mit find arbeite.<br />
So erhalte ich die Zahl 34. Nun möchte ich gerne die nächste zeile mithilfe von getline auslesen. Dafür setze ich den iterator auf 43+6 wegen den 6 zeichen von ||lol +'\n' . Therotesch hört sich das ja gut an aber wenn ich jetzt mit getline weiter auslesen will fängt der nicht da on wo er soll in der nächsten zeile sondern ganz woanders. Ich muss + 13 rechnen damit das einwantfrei klappt.<br />
Das wäre ja nicht das prob aber sobald ich ||test mit ||lol vertausche klappt das nichtmehr und der fängt zuweit unten an.</p>
<p>Meine frage ist jetzt wieso?<br />
Und gibt es eine lösung?</p>
<p>Mfg. Matyr</p>
<p>Hier nochmal den source code:</p>
<pre><code class="language-cpp">char test[]={&quot;||lol\n&quot;};

		int pos=s_Datei.find(test,0);

		cout&lt;&lt;&quot;--:  &quot;&lt;&lt;pos&lt;&lt;&quot;\n&quot;;

		pos=pos+(sizeof(test)*2)+1;
		cout&lt;&lt;&quot;--:  &quot;&lt;&lt;ab&lt;&lt;&quot;\n&quot;;
		Datei.seekg(pos);

		getline(this-&gt;Datei,tmp);
		cout&lt;&lt;&quot;A: &quot;&lt;&lt;tmp&lt;&lt;&quot;\n&quot;;
		convert(tmp,this-&gt;Daten.a);

		if(Daten.a&lt;=0){Daten.a=2;}

		getline(this-&gt;Datei,tmp);
		cout&lt;&lt;&quot;B: &quot;&lt;&lt;tmp&lt;&lt;&quot;\n&quot;;
		convert(tmp,this-&gt;Daten.b);

		if(Daten.b&lt;=0){Daten.b=2;}

		getline(this-&gt;Datei,tmp);
		cout&lt;&lt;&quot;C: &quot;&lt;&lt;tmp&lt;&lt;&quot;\n&quot;;
		convert(tmp,this-&gt;Daten.c);

		if(Daten.c&lt;=0){Daten.c=2;}

		getline(this-&gt;Datei,tmp);
		cout&lt;&lt;&quot;GG: &quot;&lt;&lt;tmp&lt;&lt;&quot;\n&quot;;
		convert(tmp,this-&gt;Daten.gg);

		if(Daten.gg&lt;=0){Daten.gg=2;}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/217200/nachfolgende-zeile-nach-iterator-umsetzung-mit-getline-einlesen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 10 Oct 2026 19:55:10 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/217200.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 04 Jul 2008 11:56:35 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Nachfolgende Zeile nach iterator umsetzung mit getline einlesen on Fri, 04 Jul 2008 11:56:35 GMT]]></title><description><![CDATA[<p>i, Ich habe folgende datei:</p>
<blockquote>
<p>111<br />
111<br />
111<br />
||test<br />
222<br />
222<br />
222<br />
59<br />
||lol<br />
333<br />
333<br />
333<br />
56<br />
6</p>
</blockquote>
<p>Ich ermittel wieviele Zeichen es bis zu dem ||lol sind indem ich das in einem string einfüge und dann mit find arbeite.<br />
So erhalte ich die Zahl 34. Nun möchte ich gerne die nächste zeile mithilfe von getline auslesen. Dafür setze ich den iterator auf 43+6 wegen den 6 zeichen von ||lol +'\n' . Therotesch hört sich das ja gut an aber wenn ich jetzt mit getline weiter auslesen will fängt der nicht da on wo er soll in der nächsten zeile sondern ganz woanders. Ich muss + 13 rechnen damit das einwantfrei klappt.<br />
Das wäre ja nicht das prob aber sobald ich ||test mit ||lol vertausche klappt das nichtmehr und der fängt zuweit unten an.</p>
<p>Meine frage ist jetzt wieso?<br />
Und gibt es eine lösung?</p>
<p>Mfg. Matyr</p>
<p>Hier nochmal den source code:</p>
<pre><code class="language-cpp">char test[]={&quot;||lol\n&quot;};

		int pos=s_Datei.find(test,0);

		cout&lt;&lt;&quot;--:  &quot;&lt;&lt;pos&lt;&lt;&quot;\n&quot;;

		pos=pos+(sizeof(test)*2)+1;
		cout&lt;&lt;&quot;--:  &quot;&lt;&lt;ab&lt;&lt;&quot;\n&quot;;
		Datei.seekg(pos);

		getline(this-&gt;Datei,tmp);
		cout&lt;&lt;&quot;A: &quot;&lt;&lt;tmp&lt;&lt;&quot;\n&quot;;
		convert(tmp,this-&gt;Daten.a);

		if(Daten.a&lt;=0){Daten.a=2;}

		getline(this-&gt;Datei,tmp);
		cout&lt;&lt;&quot;B: &quot;&lt;&lt;tmp&lt;&lt;&quot;\n&quot;;
		convert(tmp,this-&gt;Daten.b);

		if(Daten.b&lt;=0){Daten.b=2;}

		getline(this-&gt;Datei,tmp);
		cout&lt;&lt;&quot;C: &quot;&lt;&lt;tmp&lt;&lt;&quot;\n&quot;;
		convert(tmp,this-&gt;Daten.c);

		if(Daten.c&lt;=0){Daten.c=2;}

		getline(this-&gt;Datei,tmp);
		cout&lt;&lt;&quot;GG: &quot;&lt;&lt;tmp&lt;&lt;&quot;\n&quot;;
		convert(tmp,this-&gt;Daten.gg);

		if(Daten.gg&lt;=0){Daten.gg=2;}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1540966</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1540966</guid><dc:creator><![CDATA[Matyr]]></dc:creator><pubDate>Fri, 04 Jul 2008 11:56:35 GMT</pubDate></item><item><title><![CDATA[Reply to Nachfolgende Zeile nach iterator umsetzung mit getline einlesen on Fri, 04 Jul 2008 12:11:22 GMT]]></title><description><![CDATA[<p>Beschreibe mal, was das Programm <em>machen soll</em>, und nicht, was das Programm <em>macht</em>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1540974</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1540974</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 04 Jul 2008 12:11:22 GMT</pubDate></item><item><title><![CDATA[Reply to Nachfolgende Zeile nach iterator umsetzung mit getline einlesen on Fri, 04 Jul 2008 12:14:33 GMT]]></title><description><![CDATA[<p>Ich habe in einer Datei mehrere Daten pakete welche jeweils über eine überschrift verfügen welche ich suchen möchte. Anschließend soll alles unter der Überschrift Zeilenweise eingelesen und verarbeitet werden. Die größe der Datenpakete variert nur die eigentliche Überschrift bleibt konstant.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1540978</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1540978</guid><dc:creator><![CDATA[Matyr]]></dc:creator><pubDate>Fri, 04 Jul 2008 12:14:33 GMT</pubDate></item><item><title><![CDATA[Reply to Nachfolgende Zeile nach iterator umsetzung mit getline einlesen on Fri, 04 Jul 2008 12:32:02 GMT]]></title><description><![CDATA[<p>Sowas vielleicht?</p>
<pre><code class="language-cpp">typedef std::vector&lt;std::string&gt; LineVec;

LineVec readAfterTitle(const std::string&amp; title, std::ifstream&amp; reader)
{
    LineVec lines;
    std::string currentLine;
    bool titleFound = false;

    while(std::getline(reader, currentLine))
    {
        if(titleFound)
        {
            lines.push_back(currentLine);
        }
        if(currentLine.find(title) != std::string::npos)
        {
            titleFound = true;
        }
    }

    return lines;
}

//Aufruf:
//LineVec lines = readAfterTitle(&quot;Title&quot;, stream);
//Liest alle Zeilen, die nach Title im File sind in lines ein
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1540988</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1540988</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Fri, 04 Jul 2008 12:32:02 GMT</pubDate></item><item><title><![CDATA[Reply to Nachfolgende Zeile nach iterator umsetzung mit getline einlesen on Fri, 04 Jul 2008 16:02:34 GMT]]></title><description><![CDATA[<p>so würde das gehen. aber mich interessiere auchr woran das liegt das das mit meiner methode nicht klappt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1541123</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1541123</guid><dc:creator><![CDATA[Matyr]]></dc:creator><pubDate>Fri, 04 Jul 2008 16:02:34 GMT</pubDate></item><item><title><![CDATA[Reply to Nachfolgende Zeile nach iterator umsetzung mit getline einlesen on Fri, 04 Jul 2008 16:29:38 GMT]]></title><description><![CDATA[<p>das wird sich allein schon wegen der einrückungen niemand angucken ^^<br />
außerdem kannst du so was auch gleich im C-Forum posten...</p>
<pre><code class="language-cpp">const char test[] (&quot;||lol\r\n&quot;);

int pos = s_Datei.find (test, 0); //von was für nem Typ ist s_Datei?

cout &lt;&lt; &quot;--:  &quot; &lt;&lt; pos &lt;&lt; endl;

//wie kommst du darauf?: pos += 2*sizeof(test) + 1;
pos += strlen (test);

cout &lt;&lt; &quot;--:  &quot; &lt;&lt; ab &lt;&lt;endl;
Datei.seekg (pos); //toll, dass du erst eine Funktion nimmst, die den Zeiger ohnehin schon hier hingerückt haben sollte und das dann noch mal machst

getline (this-&gt;Datei, tmp); //was ist tmp?
cout &lt;&lt; &quot;A: &quot; &lt;&lt; tmp &lt;&lt; endl;
convert (tmp, this-&gt;Daten.a);

if (Daten.a &lt;= 0)
   Daten.a = 2;
</code></pre>
<p>usw... so kann man das ganze auch schon etwas lesen - auch wenns immernoch eher nach C-style aussieht</p>
<p>bb</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1541139</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1541139</guid><dc:creator><![CDATA[unskilled]]></dc:creator><pubDate>Fri, 04 Jul 2008 16:29:38 GMT</pubDate></item></channel></rss>