<?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[CSV in Klasse Einlesen aus funktion in klasse schreiben]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>Ich hab folgendes Problem. Aus einem FTP-Server lade ich eine CSV datei aus welcherich, in einer funktion, die relevanten daten auslese und schreibe diese dann in eine klasse. Das ganze funktioniert soweit ganz gut. Wenn ich aber ein Objekt der Klasse an die funktion übergebe und nicht aus der funktion dirreckt mit dem Objektnamen auf sie zugreife schreibt mir die funktion Plötzlich nur noch 0 rein. Kann mir jemand sagen woran das liegt und wie ich den code abänder muss, dass das ganze funktioniert?</p>
<p>Der code so wie er nicht funktioniert</p>
<pre><code class="language-cpp">void CSV_Einlesen(Automation automat){

	FILE *CSV;
	int houres;
	int minutes;
	int day;
	int month;
	int year;
	int event;
	int teile;
	int zykluszeit;
	int running;
	int i;


	CSV = fopen(&quot;C:\\Temp\\logspsfile.csv&quot;,&quot;r&quot;);

	i = 0;

	while (((fscanf(CSV,&quot;%i;%i;%i;%i;%i;%i;%i;%i;%i \n&quot;,&amp;houres,&amp;minutes,&amp;day,&amp;month,&amp;year,&amp;teile,&amp;zykluszeit,&amp;running,&amp;event)) != EOF) &amp;&amp; (i &lt;= 99))
	{
		automat.ahoures[i] = houres;
		automat.aminutes[i] = minutes;
		automat.aday[i] = day;
		automat.amonth[i] = month;
		automat.ayear[i] = year;
		automat.aevent[i] = event;
		automat.ateile[i] = teile;
		automat.azykluszeit[i] = zykluszeit;
		automat.arunning[i] = running;

		i++;

	}

	fclose(CSV);

	DeleteFileA(&quot;C:\\Temp\\logspsfile.csv&quot;);

	if (automat.ateile[0] == 0) {
		automat.ateile[0] = 1;
	}

}
</code></pre>
<p>der Code wie er funktioniert  (Automation1 = Obejkt von Klasse Automation)</p>
<pre><code class="language-cpp">
void CSV_Einlesen(){

	FILE *CSV;
	int houres;
	int minutes;
	int day;
	int month;
	int year;
	int event;
	int teile;
	int zykluszeit;
	int running;
	int i;


	CSV = fopen(&quot;C:\\Temp\\logspsfile.csv&quot;,&quot;r&quot;);

	i = 0;

	while (((fscanf(CSV,&quot;%i;%i;%i;%i;%i;%i;%i;%i;%i \n&quot;,&amp;houres,&amp;minutes,&amp;day,&amp;month,&amp;year,&amp;teile,&amp;zykluszeit,&amp;running,&amp;event)) != EOF) &amp;&amp; (i &lt;= 99))
	{
		Automation1.ahoures[i] = houres;
		Automation1.aminutes[i] = minutes;
		Automation1.aday[i] = day;
		Automation1.amonth[i] = month;
		Automation1.ayear[i] = year;
		Automation1.aevent[i] = event;
		Automation1.ateile[i] = teile;
		Automation1.azykluszeit[i] = zykluszeit;
		Automation1.arunning[i] = running;

		i++;

	}

	fclose(CSV);

	DeleteFileA(&quot;C:\\Temp\\logspsfile.csv&quot;);

	if (Automation1.ateile[0] == 0) {
		Automation1.ateile[0] = 1;
	}

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/348673/csv-in-klasse-einlesen-aus-funktion-in-klasse-schreiben</link><generator>RSS for Node</generator><lastBuildDate>Mon, 13 Apr 2026 08:53:36 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/348673.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 12 Dec 2018 14:27:42 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to CSV in Klasse Einlesen aus funktion in klasse schreiben on Wed, 12 Dec 2018 14:27:42 GMT]]></title><description><![CDATA[<p>Hallo zusammen</p>
<p>Ich hab folgendes Problem. Aus einem FTP-Server lade ich eine CSV datei aus welcherich, in einer funktion, die relevanten daten auslese und schreibe diese dann in eine klasse. Das ganze funktioniert soweit ganz gut. Wenn ich aber ein Objekt der Klasse an die funktion übergebe und nicht aus der funktion dirreckt mit dem Objektnamen auf sie zugreife schreibt mir die funktion Plötzlich nur noch 0 rein. Kann mir jemand sagen woran das liegt und wie ich den code abänder muss, dass das ganze funktioniert?</p>
<p>Der code so wie er nicht funktioniert</p>
<pre><code class="language-cpp">void CSV_Einlesen(Automation automat){

	FILE *CSV;
	int houres;
	int minutes;
	int day;
	int month;
	int year;
	int event;
	int teile;
	int zykluszeit;
	int running;
	int i;


	CSV = fopen(&quot;C:\\Temp\\logspsfile.csv&quot;,&quot;r&quot;);

	i = 0;

	while (((fscanf(CSV,&quot;%i;%i;%i;%i;%i;%i;%i;%i;%i \n&quot;,&amp;houres,&amp;minutes,&amp;day,&amp;month,&amp;year,&amp;teile,&amp;zykluszeit,&amp;running,&amp;event)) != EOF) &amp;&amp; (i &lt;= 99))
	{
		automat.ahoures[i] = houres;
		automat.aminutes[i] = minutes;
		automat.aday[i] = day;
		automat.amonth[i] = month;
		automat.ayear[i] = year;
		automat.aevent[i] = event;
		automat.ateile[i] = teile;
		automat.azykluszeit[i] = zykluszeit;
		automat.arunning[i] = running;

		i++;

	}

	fclose(CSV);

	DeleteFileA(&quot;C:\\Temp\\logspsfile.csv&quot;);

	if (automat.ateile[0] == 0) {
		automat.ateile[0] = 1;
	}

}
</code></pre>
<p>der Code wie er funktioniert  (Automation1 = Obejkt von Klasse Automation)</p>
<pre><code class="language-cpp">
void CSV_Einlesen(){

	FILE *CSV;
	int houres;
	int minutes;
	int day;
	int month;
	int year;
	int event;
	int teile;
	int zykluszeit;
	int running;
	int i;


	CSV = fopen(&quot;C:\\Temp\\logspsfile.csv&quot;,&quot;r&quot;);

	i = 0;

	while (((fscanf(CSV,&quot;%i;%i;%i;%i;%i;%i;%i;%i;%i \n&quot;,&amp;houres,&amp;minutes,&amp;day,&amp;month,&amp;year,&amp;teile,&amp;zykluszeit,&amp;running,&amp;event)) != EOF) &amp;&amp; (i &lt;= 99))
	{
		Automation1.ahoures[i] = houres;
		Automation1.aminutes[i] = minutes;
		Automation1.aday[i] = day;
		Automation1.amonth[i] = month;
		Automation1.ayear[i] = year;
		Automation1.aevent[i] = event;
		Automation1.ateile[i] = teile;
		Automation1.azykluszeit[i] = zykluszeit;
		Automation1.arunning[i] = running;

		i++;

	}

	fclose(CSV);

	DeleteFileA(&quot;C:\\Temp\\logspsfile.csv&quot;);

	if (Automation1.ateile[0] == 0) {
		Automation1.ateile[0] = 1;
	}

}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2566944</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566944</guid><dc:creator><![CDATA[Vynix]]></dc:creator><pubDate>Wed, 12 Dec 2018 14:27:42 GMT</pubDate></item><item><title><![CDATA[Reply to CSV in Klasse Einlesen aus funktion in klasse schreiben on Wed, 12 Dec 2018 14:30:47 GMT]]></title><description><![CDATA[<p>Woher weisst du, dass nichts drin steht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566945</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Wed, 12 Dec 2018 14:30:47 GMT</pubDate></item><item><title><![CDATA[Reply to CSV in Klasse Einlesen aus funktion in klasse schreiben on Wed, 12 Dec 2018 14:34:42 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35124">@Vynix</a> sagte in <a href="/forum/post/2566944">CSV in Klasse Einlesen aus funktion in klasse schreiben</a>:</p>
<blockquote>
<p>void CSV_Einlesen(Automation automat)</p>
</blockquote>
<p>Dir ist klar, dass automat hier eine Kopie ist, die sofort am Ende der Funktion verworfen wird?</p>
<p>Du willst vermutlich <code>void CSV_Einlesen(Automation&amp; automat)</code>, besser wäre vielleicht <code>Automation CSV_Einlesen()</code>.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566946</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566946</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Wed, 12 Dec 2018 14:34:42 GMT</pubDate></item><item><title><![CDATA[Reply to CSV in Klasse Einlesen aus funktion in klasse schreiben on Wed, 12 Dec 2018 14:36:34 GMT]]></title><description><![CDATA[<p>Zum einen verarbeite ich die werte später weiter zum andern hab ich wärend dem ausführen mittels brakingpoints die einträge angesehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566947</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566947</guid><dc:creator><![CDATA[Vynix]]></dc:creator><pubDate>Wed, 12 Dec 2018 14:36:34 GMT</pubDate></item><item><title><![CDATA[Reply to CSV in Klasse Einlesen aus funktion in klasse schreiben on Wed, 12 Dec 2018 14:39:49 GMT]]></title><description><![CDATA[<p>Okay mit Pointer funktionierts. Das ist mir jetz ein wenig peinlich <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f605.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_sweat"
      title=":grinning_face_with_sweat:"
      alt="😅"
    /><br />
Danke dir</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566948</guid><dc:creator><![CDATA[Vynix]]></dc:creator><pubDate>Wed, 12 Dec 2018 14:39:49 GMT</pubDate></item><item><title><![CDATA[Reply to CSV in Klasse Einlesen aus funktion in klasse schreiben on Wed, 12 Dec 2018 14:59:27 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/35124">@Vynix</a> sagte in <a href="/forum/post/2566944">CSV in Klasse Einlesen aus funktion in klasse schreiben</a>:</p>
<blockquote>
<pre><code>fscanf(/* ... */) != EOF
</code></pre>
</blockquote>
<p>Nur weil <code>fscanf()</code> nicht <code>EOF</code> liefert heißt das nicht, daß alles supi ist. Schau dir mal an, was <code>fscanf()</code> in welchen Fällen zurückgibt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566950</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566950</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 12 Dec 2018 14:59:27 GMT</pubDate></item><item><title><![CDATA[Reply to CSV in Klasse Einlesen aus funktion in klasse schreiben on Wed, 12 Dec 2018 15:08:35 GMT]]></title><description><![CDATA[<p>Vermutlich können auch noch andere schlimme Dinge passieren. Wenn ich <code>automat.ahoures[i]</code> ohne Vorbereitungen sehe (und ich meine jetzt nicht, dass <em>hours</em> falsch geschrieben wurde) dann wird mir gruselig.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566951</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566951</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Wed, 12 Dec 2018 15:08:35 GMT</pubDate></item><item><title><![CDATA[Reply to CSV in Klasse Einlesen aus funktion in klasse schreiben on Wed, 12 Dec 2018 15:15:51 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/18927">@DocShoe</a> sagte in <a href="/forum/post/2566951">CSV in Klasse Einlesen aus funktion in klasse schreiben</a>:</p>
<blockquote>
<p>dann wird mir gruselig.</p>
</blockquote>
<p>Mir auch, aber immerhin gibt es hier einen check auf i &lt;= 99. Also scheint hier irgendwo eine <a href="https://de.wikipedia.org/wiki/Magische_Zahl_(Informatik)#Magische_Zahlen_in_Code" rel="nofollow">magische</a> Grenze eingebaut zu sein.<br />
Auch wird nicht getestet, ob die Datei überhaupt geöffnet werden konnte <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":-("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2566952</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566952</guid><dc:creator><![CDATA[wob]]></dc:creator><pubDate>Wed, 12 Dec 2018 15:15:51 GMT</pubDate></item><item><title><![CDATA[Reply to CSV in Klasse Einlesen aus funktion in klasse schreiben on Wed, 12 Dec 2018 15:38:58 GMT]]></title><description><![CDATA[<p>@manni66 sagte in <a href="/forum/post/2566946">CSV in Klasse Einlesen aus funktion in klasse schreiben</a>:</p>
<blockquote>
<p>Du willst vermutlich <code>void CSV_Einlesen(Automation&amp; automat)</code>, besser wäre vielleicht <code>Automation CSV_Einlesen()</code>.</p>
</blockquote>
<p>Noch viel lieber möchte er vermutlich</p>
<pre><code>std::optional&lt;Automation&gt; read_automation( const std::string&amp; file_name );
</code></pre>
<p>oder</p>
<pre><code>Automation read_automation( const std::string&amp; file_name );
...
void f()
{
   try
   {
      Automation automation = read_automation( ... );
      ...
   }
   catch( std::exception&amp; excp )
   {
   }
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2566954</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2566954</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Wed, 12 Dec 2018 15:38:58 GMT</pubDate></item></channel></rss>