<?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 for-Schleife]]></title><description><![CDATA[<p>Hallo!<br />
Folgender Code:</p>
<pre><code class="language-cpp">void QUESTIONS::Question()	// Stellt Fragen
{
	string txt1;
        string end = &quot;.txt&quot;;
	string txt_question_no;
	int question_no = 1;
	ifstream question;

	for (question_no = 1; question_no &lt;= 5; question_no++)
	{
		string path = &quot;documents/Question/&quot;;

		Question_no(&amp;txt_question_no, question_no);
		path += txt_language;
		path += level;
		path += &quot;/&quot;;
		path += txt_question_no;
		path += end;

		question.open(path.c_str());
		if (question.is_open())
		{
		        question &gt;&gt; txt1;
		        cout &lt;&lt; &quot;Die Datei wurde geöffnet!\n&quot;;
			cout &lt;&lt; txt1;
			cout &lt;&lt; endl;
		}
		else
			cout &lt;&lt; &quot;I can't find the file!&quot;;
		question.close();
	}
}
</code></pre>
<p>Die Funktion soll eine Datei öffnen, sie in txt einlesen und txt auslesen. Dabei verändert sich aber immer ein Teil des Pfades, nämlich question_no. Deshalb mach ich das mit einer for Schleife. Beim ersten Durchlauf passt alles, aber bei den anderen 4 wird immer das gleiche wie beim 1. ausgegeben. Was ist falsch?</p>
<p>Danke im Voraus,<br />
Jonny</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/130746/problem-mit-for-schleife</link><generator>RSS for Node</generator><lastBuildDate>Wed, 26 Aug 2026 17:12:45 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/130746.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 26 Dec 2005 21:31:54 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Problem mit for-Schleife on Mon, 26 Dec 2005 21:32:34 GMT]]></title><description><![CDATA[<p>Hallo!<br />
Folgender Code:</p>
<pre><code class="language-cpp">void QUESTIONS::Question()	// Stellt Fragen
{
	string txt1;
        string end = &quot;.txt&quot;;
	string txt_question_no;
	int question_no = 1;
	ifstream question;

	for (question_no = 1; question_no &lt;= 5; question_no++)
	{
		string path = &quot;documents/Question/&quot;;

		Question_no(&amp;txt_question_no, question_no);
		path += txt_language;
		path += level;
		path += &quot;/&quot;;
		path += txt_question_no;
		path += end;

		question.open(path.c_str());
		if (question.is_open())
		{
		        question &gt;&gt; txt1;
		        cout &lt;&lt; &quot;Die Datei wurde geöffnet!\n&quot;;
			cout &lt;&lt; txt1;
			cout &lt;&lt; endl;
		}
		else
			cout &lt;&lt; &quot;I can't find the file!&quot;;
		question.close();
	}
}
</code></pre>
<p>Die Funktion soll eine Datei öffnen, sie in txt einlesen und txt auslesen. Dabei verändert sich aber immer ein Teil des Pfades, nämlich question_no. Deshalb mach ich das mit einer for Schleife. Beim ersten Durchlauf passt alles, aber bei den anderen 4 wird immer das gleiche wie beim 1. ausgegeben. Was ist falsch?</p>
<p>Danke im Voraus,<br />
Jonny</p>
]]></description><link>https://www.c-plusplus.net/forum/post/950446</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/950446</guid><dc:creator><![CDATA[Jonny 50]]></dc:creator><pubDate>Mon, 26 Dec 2005 21:32:34 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit for-Schleife on Mon, 26 Dec 2005 21:37:54 GMT]]></title><description><![CDATA[<p>Du öffnest die Datei in der Schleife jedes mal neu. Nur einmal vor der Schleife öffnen.</p>
<p>Des weiteren:<br />
- Die Variablenbezeichner sind unausagekräftig, darunter kann sich _keiner_ etwas vorstellen.<br />
- Mach den Bezeichner der Klasse besser nicht nur in Caps, sonst sieht das noch aus wie ein Makro, da macht man das oft.</p>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/950451</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/950451</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Mon, 26 Dec 2005 21:37:54 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit for-Schleife on Mon, 26 Dec 2005 21:58:49 GMT]]></title><description><![CDATA[<p>Funktioniert leider nicht. Kann ja auch nicht, weil path ja erst später definiert wird. Und dann immer wieder neu... Oder seh ich das falsch?<br />
Bei den anderen Sachen geb ich dir Recht.</p>
<p>Jonny</p>
]]></description><link>https://www.c-plusplus.net/forum/post/950463</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/950463</guid><dc:creator><![CDATA[Jonny 50]]></dc:creator><pubDate>Mon, 26 Dec 2005 21:58:49 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit for-Schleife on Mon, 26 Dec 2005 22:12:41 GMT]]></title><description><![CDATA[<p>Nun versteh ich das erst. Wie gesagt der Code ist sehr unübersichtlich. Versuchs mal so (hab den Fehler nicht gesucht, nur was neues):</p>
<pre><code class="language-cpp">void readQuestions()
{
    for(int i=0; i&lt;5; ++i) {

        // Filename erzeugen 
        ostringstream filename;
        filename &lt;&lt; &quot;path\\to\\file\\&quot; &lt;&lt; i &lt;&lt; &quot;.txt&quot;;

        // Datei öffnen
        ifstream file(filename.str().c_str());
        if(!file.is_open()) {
            throw &quot;Booom!&quot;;
        }

        // Ausgeben
        copy(istream_iterator&lt;char&gt;(file), istream_iterator&lt;char&gt;(), ostream_iterator&lt;char&gt;(cout));

    }    
}
</code></pre>
<p>Gruß</p>
]]></description><link>https://www.c-plusplus.net/forum/post/950476</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/950476</guid><dc:creator><![CDATA[FireFlow]]></dc:creator><pubDate>Mon, 26 Dec 2005 22:12:41 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit for-Schleife on Mon, 26 Dec 2005 22:48:27 GMT]]></title><description><![CDATA[<p>Okay, bis zur letzten Zeil komm ich mit, aber die copy anweisung versteh ich nicht.<br />
Aber du veränderst ja nur die zusammensetzung des Pfads. Den hab ich mir mal immer ausgeben lassen, der ist richtig...</p>
<p>Aber ich hab mal eine andere Idee aus deinem Beispiel aufgegriffen und direkt bei der deklaration des ifstream den Pfad angegebn und nicht mittels der open() methode. Und siehe da: Es funktioniert, warum weiß ich nicht.</p>
<p>Ihr?</p>
<p>Danke,<br />
Jonny</p>
]]></description><link>https://www.c-plusplus.net/forum/post/950498</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/950498</guid><dc:creator><![CDATA[Jonny 50]]></dc:creator><pubDate>Mon, 26 Dec 2005 22:48:27 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit for-Schleife on Tue, 27 Dec 2005 03:29:36 GMT]]></title><description><![CDATA[<p>ich vermute, der fehler liegt in der funktion Question_no().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/950537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/950537</guid><dc:creator><![CDATA[Konfusius]]></dc:creator><pubDate>Tue, 27 Dec 2005 03:29:36 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit for-Schleife on Tue, 27 Dec 2005 09:10:43 GMT]]></title><description><![CDATA[<p>Hier ist sie:</p>
<pre><code class="language-cpp">void QUESTIONS::Question_no(string *ptxt_question_no, int question_no)
{
	switch (question_no)
	{
	case 1: *ptxt_question_no = &quot;1&quot;;
		break;
	case 2: *ptxt_question_no = &quot;2&quot;;
		break;
	case 3: *ptxt_question_no = &quot;3&quot;;
		break;
	case 4: *ptxt_question_no = &quot;4&quot;;
		break;
	case 5: *ptxt_question_no = &quot;5&quot;;
	}
}
</code></pre>
<p>Sie konvertiert (wenn auch auf umständliche Weise) den int question_no in einen string.</p>
<p>Gruß,<br />
Jonny</p>
]]></description><link>https://www.c-plusplus.net/forum/post/950574</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/950574</guid><dc:creator><![CDATA[Jonny 50]]></dc:creator><pubDate>Tue, 27 Dec 2005 09:10:43 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit for-Schleife on Tue, 27 Dec 2005 10:33:03 GMT]]></title><description><![CDATA[<p>einen fehler kann ich nicht entdecken.</p>
<p>question&gt;&gt;txt1 liest den text nur bis zum ersten leerzeichen ein. vielleicht ist das erste wort ja in allen dateien gleich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/950617</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/950617</guid><dc:creator><![CDATA[Konfusius]]></dc:creator><pubDate>Tue, 27 Dec 2005 10:33:03 GMT</pubDate></item><item><title><![CDATA[Reply to Problem mit for-Schleife on Tue, 27 Dec 2005 10:53:50 GMT]]></title><description><![CDATA[<p>Ich hab zum test erstmal nur a,b,c,d,e genommen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/950626</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/950626</guid><dc:creator><![CDATA[Jonny 50]]></dc:creator><pubDate>Tue, 27 Dec 2005 10:53:50 GMT</pubDate></item></channel></rss>