<?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[Eigener Namensbereich - Variablen]]></title><description><![CDATA[<p>Moin!</p>
<p>Wenn ich in die Variablen aus der Datei &quot;header.h&quot; Zahlen bzw Zeichen speichere<br />
(z.B. aus der Datei &quot;FuncCReadFile.h&quot;) und anschließend in eine andere Funktion diese abrufen möchte, sind diese &quot;leer&quot; bzw sind die Daten weg.</p>
<p>header.h</p>
<pre><code>#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
using namespace std;

namespace OverFunc {

	char CThousend[1000];
	char CCryptThousand[1000];
	char CTemp='0';
	string SThousend[1000];
	string STemp=&quot;0&quot;;
	string FileIn=&quot;test.txt&quot;;
	string FileOutA=&quot;outa.txt&quot;;
	string FileOutB=&quot;outb.txt&quot;;
	int ICryptThousand[1000];
	int ITmp=0;
	int ILoopMax=0;
}
</code></pre>
<p>main.cpp</p>
<pre><code>int main() {

	FuncCReadFile();

	FuncCrypt();

	getchar();

	return 0;

}
</code></pre>
<p>FuncCReadFile.h</p>
<pre><code>int FuncCReadFile() {
	FILE *file;
	char CTmp;
	int TmpI=0;
	int INumber=0;
	file = fopen (&quot;test.txt&quot;, &quot;r&quot;);
	if(file == NULL) {
		printf(&quot;Datei konnte nicht geoeffnet werden.\n&quot;);
	} else {
		OverFunc::ILoopMax=0;
		while((TmpI = fgetc(file))!=EOF) {
			printf(&quot;%c&quot;, TmpI);
			printf(&quot;\n&quot;);
			printf(&quot;%i&quot;, TmpI);
			printf(&quot;\n&quot;);
			OverFunc::IThousend[OverFunc::ITmp] = TmpI;
			printf(&quot;%c&quot;, OverFunc::IThousend[OverFunc::ILoopMax]);
			printf(&quot;\n&quot;);
			printf(&quot;%i&quot;, OverFunc::IThousend[OverFunc::ILoopMax]);
			printf(&quot;\n&quot;);
			++OverFunc::ILoopMax;
		}
	}
	fclose (file);
}
</code></pre>
<p>(Da ich die Variablen in die eigene Namensbereich speichere, müssten diese doch noch im Speicher sein, oder? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> )</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/326223/eigener-namensbereich-variablen</link><generator>RSS for Node</generator><lastBuildDate>Sat, 11 Jul 2026 05:20:52 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/326223.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 07 Jun 2014 10:31:53 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Eigener Namensbereich - Variablen on Sat, 07 Jun 2014 10:31:53 GMT]]></title><description><![CDATA[<p>Moin!</p>
<p>Wenn ich in die Variablen aus der Datei &quot;header.h&quot; Zahlen bzw Zeichen speichere<br />
(z.B. aus der Datei &quot;FuncCReadFile.h&quot;) und anschließend in eine andere Funktion diese abrufen möchte, sind diese &quot;leer&quot; bzw sind die Daten weg.</p>
<p>header.h</p>
<pre><code>#include &lt;fstream&gt;
#include &lt;string&gt;
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
using namespace std;

namespace OverFunc {

	char CThousend[1000];
	char CCryptThousand[1000];
	char CTemp='0';
	string SThousend[1000];
	string STemp=&quot;0&quot;;
	string FileIn=&quot;test.txt&quot;;
	string FileOutA=&quot;outa.txt&quot;;
	string FileOutB=&quot;outb.txt&quot;;
	int ICryptThousand[1000];
	int ITmp=0;
	int ILoopMax=0;
}
</code></pre>
<p>main.cpp</p>
<pre><code>int main() {

	FuncCReadFile();

	FuncCrypt();

	getchar();

	return 0;

}
</code></pre>
<p>FuncCReadFile.h</p>
<pre><code>int FuncCReadFile() {
	FILE *file;
	char CTmp;
	int TmpI=0;
	int INumber=0;
	file = fopen (&quot;test.txt&quot;, &quot;r&quot;);
	if(file == NULL) {
		printf(&quot;Datei konnte nicht geoeffnet werden.\n&quot;);
	} else {
		OverFunc::ILoopMax=0;
		while((TmpI = fgetc(file))!=EOF) {
			printf(&quot;%c&quot;, TmpI);
			printf(&quot;\n&quot;);
			printf(&quot;%i&quot;, TmpI);
			printf(&quot;\n&quot;);
			OverFunc::IThousend[OverFunc::ITmp] = TmpI;
			printf(&quot;%c&quot;, OverFunc::IThousend[OverFunc::ILoopMax]);
			printf(&quot;\n&quot;);
			printf(&quot;%i&quot;, OverFunc::IThousend[OverFunc::ILoopMax]);
			printf(&quot;\n&quot;);
			++OverFunc::ILoopMax;
		}
	}
	fclose (file);
}
</code></pre>
<p>(Da ich die Variablen in die eigene Namensbereich speichere, müssten diese doch noch im Speicher sein, oder? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> )</p>
<p>Danke</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402865</guid><dc:creator><![CDATA[freddy krüger]]></dc:creator><pubDate>Sat, 07 Jun 2014 10:31:53 GMT</pubDate></item><item><title><![CDATA[Reply to Eigener Namensbereich - Variablen on Sat, 07 Jun 2014 11:05:38 GMT]]></title><description><![CDATA[<p>freddy krüger schrieb:</p>
<blockquote>
<p>Da ich die Variablen in die eigene Namensbereich speichere, müssten diese doch noch im Speicher sein, oder? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Was heisst &quot;noch im Speicher&quot;? Was hat das mit Namensräumen zu tun?</p>
<p>Du verletzt die ODR ( one definition rule ). Grundsätzlich solltest du den Gebrauch globaler überdenken!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402867</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402867</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sat, 07 Jun 2014 11:05:38 GMT</pubDate></item><item><title><![CDATA[Reply to Eigener Namensbereich - Variablen on Sat, 07 Jun 2014 11:47:16 GMT]]></title><description><![CDATA[<p>Danke für diesen Hinweis.</p>
<p>Wenn ich den Funktionen Parameter übergebe, müsen doch in dem main Block die entsprechenden Variable schon bekannt sein. (oder schon vor der main)</p>
<p>Dann wäre die Möglichkeit per return Befehl die abgespeicherten Werte zurück zu liefern.</p>
<p>Wären die Variablen die vor dem Aufruf der Funktionen, in dem main Block bzw (es dient nur der Frage) davor &quot;bekannt&quot; gibt, nicht global? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402873</guid><dc:creator><![CDATA[freddy krüger]]></dc:creator><pubDate>Sat, 07 Jun 2014 11:47:16 GMT</pubDate></item><item><title><![CDATA[Reply to Eigener Namensbereich - Variablen on Sat, 07 Jun 2014 17:12:50 GMT]]></title><description><![CDATA[<p>freddy krüger schrieb:</p>
<blockquote>
<p>Wenn ich den Funktionen Parameter übergebe, müsen doch in dem main Block die entsprechenden Variable schon bekannt sein. (oder schon vor der main)</p>
</blockquote>
<p>Wenn du Parameter übergibst (du tust es nicht!), müssen sie an der aufrufenden Stelle bekannt sein. Sie können eine Zeile vorher definiert worde sein</p>
<p>freddy krüger schrieb:</p>
<blockquote>
<p>Dann wäre die Möglichkeit per return Befehl die abgespeicherten Werte zurück zu liefern.</p>
</blockquote>
<p>Man kann Parameter so übergeben, dass sie geändert werden können. Man kann Werte aus einer Funktion zurückgeben.</p>
<p>Keine Ahnung was &quot;die abgespeicherten Werte&quot; sein soll.</p>
<blockquote>
<p>Wären die Variablen die vor dem Aufruf der Funktionen, in dem main Block bzw (es dient nur der Frage) davor &quot;bekannt&quot; gibt, nicht global? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>Nein, warum sollten sie?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402917</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402917</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sat, 07 Jun 2014 17:12:50 GMT</pubDate></item><item><title><![CDATA[Reply to Eigener Namensbereich - Variablen on Sun, 08 Jun 2014 12:34:46 GMT]]></title><description><![CDATA[<p>Wenn ich folgendes Programm (siehe Quellcode unten) ausführe, wird anstelle des Wertes &quot;3&quot; eine &quot;0&quot; angezeigt.</p>
<p>main.c</p>
<pre><code>#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;
#include &quot;FuncA.c&quot;
#include &quot;FuncB.c&quot;

int main() {
	int g;
	FuncA(g);
	FuncB(g);
	return 0;
}
</code></pre>
<p>FuncA.c</p>
<pre><code>int FuncA(int abc) {
	printf(&quot;%i&quot;, abc);
	printf(&quot;\n&quot;);
	abc=3;
	printf(&quot;%i&quot;, abc);
	printf(&quot;\n&quot;);
	return abc;
}
</code></pre>
<p>FuncB.c</p>
<pre><code>int FuncB(int def) {
	printf(&quot;%i&quot;, def);
	printf(&quot;\n&quot;);
	return def;
}
</code></pre>
<p>Weiß jemand woran es liegt ? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402976</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402976</guid><dc:creator><![CDATA[freddy krüger]]></dc:creator><pubDate>Sun, 08 Jun 2014 12:34:46 GMT</pubDate></item><item><title><![CDATA[Reply to Eigener Namensbereich - Variablen on Sun, 08 Jun 2014 12:39:07 GMT]]></title><description><![CDATA[<p>Ja, Stichwort Call-by-Value.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402977</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sun, 08 Jun 2014 12:39:07 GMT</pubDate></item><item><title><![CDATA[Reply to Eigener Namensbereich - Variablen on Sun, 08 Jun 2014 12:43:48 GMT]]></title><description><![CDATA[<p>Nathan schrieb:</p>
<blockquote>
<p>Ja, Stichwort Call-by-Value.</p>
</blockquote>
<p>WIe kann ich dies &quot;lösen&quot; bzw es hinbekommen, dass in der &quot;FuncB&quot; Funktion der Wert &quot;3&quot; angezeigt wird?</p>
<p>(ohne globale Variablen)</p>
<p>Irgendwie stehe ich gerade auf dem Schlauch.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402979</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402979</guid><dc:creator><![CDATA[freddy krüger]]></dc:creator><pubDate>Sun, 08 Jun 2014 12:43:48 GMT</pubDate></item><item><title><![CDATA[Reply to Eigener Namensbereich - Variablen on Sun, 08 Jun 2014 13:12:11 GMT]]></title><description><![CDATA[<p><a href="https://www.google.de/search?q=c%2B%2B+call+by+value" rel="nofollow">https://www.google.de/search?q=c%2B%2B+call+by+value</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402982</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402982</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sun, 08 Jun 2014 13:12:11 GMT</pubDate></item><item><title><![CDATA[Reply to Eigener Namensbereich - Variablen on Sun, 08 Jun 2014 13:13:28 GMT]]></title><description><![CDATA[<p>Call by reference</p>
<pre><code>void f(int&amp; val)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2402983</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402983</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sun, 08 Jun 2014 13:13:28 GMT</pubDate></item><item><title><![CDATA[Reply to Eigener Namensbereich - Variablen on Sun, 08 Jun 2014 13:19:22 GMT]]></title><description><![CDATA[<p>manni66 schrieb:</p>
<blockquote>
<p>Call by reference</p>
<pre><code>void f(int&amp; val)
</code></pre>
</blockquote>
<p>Gibt es dies auch in C?</p>
<p>Der Compiler (Orwell DevC++) zeigt mir bei dem Code</p>
<pre><code>void FuncA(int&amp; abc) {
	printf(&quot;%i&quot;, abc);
	printf(&quot;\n&quot;);
	abc=3;
	printf(&quot;%i&quot;, abc);
	printf(&quot;\n&quot;);
}
</code></pre>
<p>Folgenden Fehler an: [Error] expected ';', ',' or ')' before '&amp;' token</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402984</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402984</guid><dc:creator><![CDATA[freddy krüger]]></dc:creator><pubDate>Sun, 08 Jun 2014 13:19:22 GMT</pubDate></item><item><title><![CDATA[Reply to Eigener Namensbereich - Variablen on Sun, 08 Jun 2014 13:24:22 GMT]]></title><description><![CDATA[<p>Nein, ein C brauchste Pointer.<br />
Aber wieso auf einmal C?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402985</guid><dc:creator><![CDATA[Nathan]]></dc:creator><pubDate>Sun, 08 Jun 2014 13:24:22 GMT</pubDate></item><item><title><![CDATA[Reply to Eigener Namensbereich - Variablen on Sun, 08 Jun 2014 13:25:22 GMT]]></title><description><![CDATA[<p>freddy krüger schrieb:</p>
<blockquote>
<p>Gibt es dies auch in C?</p>
</blockquote>
<p>Also mir reicht deine Dummheit jetzt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2402986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2402986</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Sun, 08 Jun 2014 13:25:22 GMT</pubDate></item></channel></rss>