<?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[Problem mit getline() aus ifstream]]></title><description><![CDATA[<p>Hey ho,</p>
<p>Ich habe mal wieder in Problem, und zwar soll folgender Code mir die Zeilennummer eines gewissen strings, in diesem Fall &quot;Nutzernamen:&quot;, zurückgeben. Dazu habe ich eine kleine testdatei erstellt, die mit &quot;dateiOeffnen()&quot; auch erfolgreich geöffnet wird. In dieser stehen in den ersten 3 Zeilen irgendein Käse und in der dritten dann mein gesuchter String. alleine, ohne irgendetwas drum herum.<br />
Nun mein Problem: Führe ich den Code aus, so ließt er entweder nichts aus der Datei, oder er speichert es nicht in den c-Sting, jedenfalls ist die Ausgabe leer und er meint er hätte den String in Zeile 0 gefunden. Hier mal der entsprechende Code:</p>
<pre><code class="language-cpp">int CONFIGAUSLESEN::nutzerSuchen()
{
	if(file.good())
	{
		cout &lt;&lt; &quot;Nutzer werden gesucht..&quot; &lt;&lt; endl;
		char zeile[256];
		dateiOeffnen();
		int zeileAkt = 0;
		while (!file.eof())
		{
			cout &lt;&lt; &quot;aktuelle Zeile: &quot; &lt;&lt; zeileAkt &lt;&lt; endl;
			// Die Datei zeilenweise auslesen
			file.getline(zeile, 255);
			cout &lt;&lt; zeileAkt &lt;&lt; &quot;: &quot; &lt;&lt; zeile &lt;&lt; endl;
			if(strcmp(zeile,&quot;Nutzernamen:&quot;))
			{
				nutzerZeile = zeileAkt;
				cout &lt;&lt; &quot;gefunden in Zeile: &quot; &lt;&lt; nutzerZeile &lt;&lt; endl;
				break;
			}
  			zeileAkt++;
		}
	}
	else
	{
		cout &lt;&lt; &quot;Datei konnte nciht geöffnet werden!&quot; &lt;&lt; endl;
	}
	return nutzerZeile;
}
</code></pre>
<p>würde mich sehr über Lösungen freuen. Komm grad einfach nicht weiter...</p>
<p>lg, Duck 93</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/297177/problem-mit-getline-aus-ifstream</link><generator>RSS for Node</generator><lastBuildDate>Fri, 14 Aug 2026 14:33:15 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/297177.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 20 Dec 2011 16:46:29 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit getline() aus ifstream on Tue, 20 Dec 2011 16:46:29 GMT]]></title><description><![CDATA[<p>Hey ho,</p>
<p>Ich habe mal wieder in Problem, und zwar soll folgender Code mir die Zeilennummer eines gewissen strings, in diesem Fall &quot;Nutzernamen:&quot;, zurückgeben. Dazu habe ich eine kleine testdatei erstellt, die mit &quot;dateiOeffnen()&quot; auch erfolgreich geöffnet wird. In dieser stehen in den ersten 3 Zeilen irgendein Käse und in der dritten dann mein gesuchter String. alleine, ohne irgendetwas drum herum.<br />
Nun mein Problem: Führe ich den Code aus, so ließt er entweder nichts aus der Datei, oder er speichert es nicht in den c-Sting, jedenfalls ist die Ausgabe leer und er meint er hätte den String in Zeile 0 gefunden. Hier mal der entsprechende Code:</p>
<pre><code class="language-cpp">int CONFIGAUSLESEN::nutzerSuchen()
{
	if(file.good())
	{
		cout &lt;&lt; &quot;Nutzer werden gesucht..&quot; &lt;&lt; endl;
		char zeile[256];
		dateiOeffnen();
		int zeileAkt = 0;
		while (!file.eof())
		{
			cout &lt;&lt; &quot;aktuelle Zeile: &quot; &lt;&lt; zeileAkt &lt;&lt; endl;
			// Die Datei zeilenweise auslesen
			file.getline(zeile, 255);
			cout &lt;&lt; zeileAkt &lt;&lt; &quot;: &quot; &lt;&lt; zeile &lt;&lt; endl;
			if(strcmp(zeile,&quot;Nutzernamen:&quot;))
			{
				nutzerZeile = zeileAkt;
				cout &lt;&lt; &quot;gefunden in Zeile: &quot; &lt;&lt; nutzerZeile &lt;&lt; endl;
				break;
			}
  			zeileAkt++;
		}
	}
	else
	{
		cout &lt;&lt; &quot;Datei konnte nciht geöffnet werden!&quot; &lt;&lt; endl;
	}
	return nutzerZeile;
}
</code></pre>
<p>würde mich sehr über Lösungen freuen. Komm grad einfach nicht weiter...</p>
<p>lg, Duck 93</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2159342</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159342</guid><dc:creator><![CDATA[Duck93]]></dc:creator><pubDate>Tue, 20 Dec 2011 16:46:29 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit getline() aus ifstream on Tue, 20 Dec 2011 17:04:57 GMT]]></title><description><![CDATA[<p>strcmp gibt 0 zurück wenn die Strings gleich sind.<br />
Aber zum Rest:<br />
Was bitte macht &quot;dateiÖffnen()&quot; aus Zeile 7? Die Datei ist doch schon offen, oder warum prüfst du .good()? Überhaupt, ist file etwa eine Membervariable? Kommt mir komisch vor. Dann wären da noch die üblichen Dinge: Warum nutzt du statt char[256] nicht einfach std::string? Das ist nicht nur einfacher beim Einlesen (da du nicht auf die Größe achten musst), sondern du kannst auch gleich mit operator == prüfen, damit wäre der Fehler erst gar nicht entstanden. Du solltest versuchen mehr C++ und weniger C zu programmieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2159352</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159352</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 20 Dec 2011 17:04:57 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit getline() aus ifstream on Tue, 20 Dec 2011 17:07:16 GMT]]></title><description><![CDATA[<p>jja, aber vorher sollte ja die zeile ausgegeben werden, was aber auch nicht geschieht. und wie gesagt, in den ersten 3 zeilen steht sowas wie &quot;fghjkijhgfdfz&quot; nur damit davor was steht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2159356</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159356</guid><dc:creator><![CDATA[Duck93]]></dc:creator><pubDate>Tue, 20 Dec 2011 17:07:16 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit getline() aus ifstream on Tue, 20 Dec 2011 17:13:35 GMT]]></title><description><![CDATA[<p>Ich sehe gerade keinen Fehler der das verursachen könnte. Teste mal bitte:</p>
<pre><code class="language-cpp">int main()
{
  std::ifstream file(&quot;test.txt&quot;);
  while (file.good())
  {
    std::string s;
    std::getline(file, s);
    std::cout &lt;&lt; s &lt;&lt; '\n';
  }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2159362</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159362</guid><dc:creator><![CDATA[cooky451]]></dc:creator><pubDate>Tue, 20 Dec 2011 17:13:35 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit getline() aus ifstream on Wed, 21 Dec 2011 16:18:48 GMT]]></title><description><![CDATA[<p>Kürzer:</p>
<pre><code class="language-cpp">std::ifstream is(&quot;blah&quot;);
for(std::string line; std::getline(is, line);)
    std::cout &lt;&lt; line &lt;&lt; '\n';
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2159786</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159786</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 21 Dec 2011 16:18:48 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit getline() aus ifstream on Wed, 21 Dec 2011 16:32:49 GMT]]></title><description><![CDATA[<p>Danke für die beiden Lösungen, funktionieren beide einwandfrei!<br />
Nun aber noch eine Frage: wieso funktioniert meine Lösung nicht? Rein theoretisch müsste es doch so auch klappen.. Aber ich werde jetzt mal so weiterarbeiten, danke vielmals!</p>
<p>lg, Duck 93</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2159798</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159798</guid><dc:creator><![CDATA[Duck93]]></dc:creator><pubDate>Wed, 21 Dec 2011 16:32:49 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit getline() aus ifstream on Wed, 21 Dec 2011 16:43:09 GMT]]></title><description><![CDATA[<p>Duck93 schrieb:</p>
<blockquote>
<p>D<br />
Nun aber noch eine Frage: wieso funktioniert meine Lösung nicht? Rein theoretisch müsste es doch so auch klappen.. Aber ich werde jetzt mal so weiterarbeiten, danke vielmals!</p>
</blockquote>
<p>Das könnte man nur an einem vollständigen Beispiel genau beantworten. cooky451 hat dir schon viele Dinge genannt, die an deinem Programm komisch sind und erfahrungsgemäß zu Fehlern führen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2159804</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159804</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 21 Dec 2011 16:43:09 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit getline() aus ifstream on Wed, 21 Dec 2011 16:43:32 GMT]]></title><description><![CDATA[<p>Hab jetzt den Fehler gefunden. Es lag anscheinend einfach nur daran, dass ich die Datei zweimal im selben ifstream-Objekt geöffnet habe. Mache ich das eine Öffnen Raus, dann funktioniert alles einwandfrei. Stand wohl gestern irgendwie bisschen auf dem Schlauch. Trotzdem nochmals danke.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2159805</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159805</guid><dc:creator><![CDATA[Duck93]]></dc:creator><pubDate>Wed, 21 Dec 2011 16:43:32 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit getline() aus ifstream on Wed, 21 Dec 2011 16:56:45 GMT]]></title><description><![CDATA[<p>Und jetzt guck mal, wie cooky451 und 314159265358979 das stattdessen gemacht haben und überlege dir, warum denen solch ein Fehler gar nicht passieren <strong>kann</strong>. Dabei waren die beiden viel fauler und haben viel weniger geschrieben als du.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2159816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2159816</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Wed, 21 Dec 2011 16:56:45 GMT</pubDate></item></channel></rss>