<?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[Zugriffsverletzung bei Funktionsaufruf]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich schreibe für ein Schulprojekt eine Art PC-Konfigurator.<br />
Man soll nach und nach Einzelteile auswählen können und aufgrund der Auswahl sollen die weiteren Auswahlmöglichkeiten begrenzt werden.</p>
<p>Z.B. wenn man eine PCIExpress-GraKa auswählt sollte das Programm natürlich kein AGP-Mainboard zur Auswahl geben.</p>
<p>Die einzelnen Kategorien von Artikeln möchte ich in Arrays aus TXT-Dateien einlesen und habe mir dafür eine Funktion gebastelt die ich aus dem Programmfluss aufrufen möchte, um ein solches Array zu erstellen.</p>
<p>Mein Problem ist nun, dass wenn ich die funktion aufrufe das Programm abschmiert, mit folgender meldung:</p>
<p><strong>Unbehandelte Ausnahme bei 0x012b6006 in Test.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xe198fb0b.</strong></p>
<p>Hier habe ich die betreffenden Zeilen aus dem Programm:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;

using namespace std;

void erzeugeArray(string dateiname, string tempArray[4][10], int maxSpalten){

	int d1 = 0;//Zähler für erste Dimenson von Array
	int d2 = 0;//Zähler für zweite Dimenson von Array
	ifstream in;

	in.open(dateiname.c_str());
				if ( !in.is_open()) { cout &lt;&lt; &quot;Fehler: Datei konnte nicht geöffnet werden\n&quot;;}
				while(!in.eof() &amp;&amp; d1 &lt; 10){
						while(d2 &lt; maxSpalten &amp;&amp; !in.eof()){
							getline(in, tempArray[d1][d2]);//String Zeilenweise einlesen
							d2++;
						}
						d2 = 0;
						d1++;
				}
	in.close();
}

int main(){

		string grakaArray[4][10];
		erzeugeArray(&quot;Grafikkarten.TXT&quot;,grakaArray,4);

		system(&quot;PAUSE&quot;);
		return 0;
}
</code></pre>
<p>Int maxSpalten, als Parameter der Funktion erzeugeArray(), soll die Durchläufe der while-Schleife begrenzen, da die verschiedenen Kategorien von Artikeln auch verschieden viele Zeilen an Merkmalen haben die eingelesen werden müssen.</p>
<p>Wenn ich maxSpalten durch einen Festen Wert z.B 6 ersetze klappt es. <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>Ich habe den Code schon so wie er hier steht, ohne den rest des Programmes, ausgeführt und der Fehler besteht weiterhin.<br />
<a href="http://pastebin.com/X7jmm82v" rel="nofollow">Hier der gesamte Code</a></p>
<p>kann mir da einer Weiterhelfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/287954/zugriffsverletzung-bei-funktionsaufruf</link><generator>RSS for Node</generator><lastBuildDate>Thu, 20 Aug 2026 05:04:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/287954.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 07 Jun 2011 18:34:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Zugriffsverletzung bei Funktionsaufruf on Tue, 07 Jun 2011 18:34:25 GMT]]></title><description><![CDATA[<p>Hallo zusammen,</p>
<p>ich schreibe für ein Schulprojekt eine Art PC-Konfigurator.<br />
Man soll nach und nach Einzelteile auswählen können und aufgrund der Auswahl sollen die weiteren Auswahlmöglichkeiten begrenzt werden.</p>
<p>Z.B. wenn man eine PCIExpress-GraKa auswählt sollte das Programm natürlich kein AGP-Mainboard zur Auswahl geben.</p>
<p>Die einzelnen Kategorien von Artikeln möchte ich in Arrays aus TXT-Dateien einlesen und habe mir dafür eine Funktion gebastelt die ich aus dem Programmfluss aufrufen möchte, um ein solches Array zu erstellen.</p>
<p>Mein Problem ist nun, dass wenn ich die funktion aufrufe das Programm abschmiert, mit folgender meldung:</p>
<p><strong>Unbehandelte Ausnahme bei 0x012b6006 in Test.exe: 0xC0000005: Zugriffsverletzung beim Schreiben an Position 0xe198fb0b.</strong></p>
<p>Hier habe ich die betreffenden Zeilen aus dem Programm:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;

using namespace std;

void erzeugeArray(string dateiname, string tempArray[4][10], int maxSpalten){

	int d1 = 0;//Zähler für erste Dimenson von Array
	int d2 = 0;//Zähler für zweite Dimenson von Array
	ifstream in;

	in.open(dateiname.c_str());
				if ( !in.is_open()) { cout &lt;&lt; &quot;Fehler: Datei konnte nicht geöffnet werden\n&quot;;}
				while(!in.eof() &amp;&amp; d1 &lt; 10){
						while(d2 &lt; maxSpalten &amp;&amp; !in.eof()){
							getline(in, tempArray[d1][d2]);//String Zeilenweise einlesen
							d2++;
						}
						d2 = 0;
						d1++;
				}
	in.close();
}

int main(){

		string grakaArray[4][10];
		erzeugeArray(&quot;Grafikkarten.TXT&quot;,grakaArray,4);

		system(&quot;PAUSE&quot;);
		return 0;
}
</code></pre>
<p>Int maxSpalten, als Parameter der Funktion erzeugeArray(), soll die Durchläufe der while-Schleife begrenzen, da die verschiedenen Kategorien von Artikeln auch verschieden viele Zeilen an Merkmalen haben die eingelesen werden müssen.</p>
<p>Wenn ich maxSpalten durch einen Festen Wert z.B 6 ersetze klappt es. <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>Ich habe den Code schon so wie er hier steht, ohne den rest des Programmes, ausgeführt und der Fehler besteht weiterhin.<br />
<a href="http://pastebin.com/X7jmm82v" rel="nofollow">Hier der gesamte Code</a></p>
<p>kann mir da einer Weiterhelfen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2074859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2074859</guid><dc:creator><![CDATA[FlorianM]]></dc:creator><pubDate>Tue, 07 Jun 2011 18:34:25 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung bei Funktionsaufruf on Tue, 07 Jun 2011 18:38:55 GMT]]></title><description><![CDATA[<p>Holla. Das nenn ich mal kreative Einrückung. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Zum Fehler: Da hast du wohl d1 und d2 vertauscht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2074863</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2074863</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 07 Jun 2011 18:38:55 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung bei Funktionsaufruf on Tue, 07 Jun 2011 18:40:16 GMT]]></title><description><![CDATA[<p>Hast du mal im Debugger verfolgt, an welcher Stelle das Problem auftritt?</p>
<p>Ansonsten fällt bei näherer Betrachtung auf, daß du die Array-Indizes vertauscht hast.</p>
<p>PS: Hast du schonmal etwas von for()-Schleifen gehört?</p>
<p>PPS: um open()/close() wurden hier schon so einige Glaubenskriege ausgetragen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2074865</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2074865</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 07 Jun 2011 18:40:16 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung bei Funktionsaufruf on Tue, 07 Jun 2011 18:48:45 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>PPS: um open()/close() wurden hier schon so einige Glaubenskriege ausgetragen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Viel schwerer wiegt das falsche Prüfen auf eof <strong>vor</strong> dem Lesen. Das ist zwar nicht was zum Absturz führt (das sind die falschen Indizes), aber es wird dazu führen, dass falsch gelesen wird, falls in der Datei weniger als 40 Zeilen sind.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2074869</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2074869</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Tue, 07 Jun 2011 18:48:45 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung bei Funktionsaufruf on Tue, 07 Jun 2011 20:05:31 GMT]]></title><description><![CDATA[<p>ich danke euch für eure Antworten.</p>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Holla. Das nenn ich mal kreative Einrückung. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>Zum Fehler: Da hast du wohl d1 und d2 vertauscht.</p>
</blockquote>
<p>Ja arbeite noch nicht lange mit IDE. Muss mich da mal mit den Automatismen auseinadersetzen :p</p>
<p>Und thx, die Tomaten auf den Augen haben mich wohl von den Indizes abgelenkt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f644.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_rolling_eyes"
      title=":rolling_eyes:"
      alt="🙄"
    /></p>
<p>CStoll schrieb:</p>
<blockquote>
<p>PS: Hast du schonmal etwas von for()-Schleifen gehört?</p>
</blockquote>
<p>Ja, habe ich... Und hier währe wohl der richtige Platz um sie anzuwenden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<p>CStoll schrieb:</p>
<blockquote>
<p>PPS: um open()/close() wurden hier schon so einige Glaubenskriege ausgetragen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Oh, ich hoffe ich fahr keinem an'ne Karre mit meinem Code <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
<p>[quote=&quot;SeppJ&quot;]</p>
<p>CStoll schrieb:</p>
<blockquote>
<p>...aber es wird dazu führen, dass falsch gelesen wird, falls in der Datei weniger als 40 Zeilen sind.</p>
</blockquote>
<p>Das werd ich mir unter die Lupe nehmen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2074921</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2074921</guid><dc:creator><![CDATA[FlorianM]]></dc:creator><pubDate>Tue, 07 Jun 2011 20:05:31 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung bei Funktionsaufruf on Tue, 07 Jun 2011 20:10:49 GMT]]></title><description><![CDATA[<p>FlorianM schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>PS: Hast du schonmal etwas von for()-Schleifen gehört?</p>
</blockquote>
<p>Ja, habe ich... Und hier währe wohl der richtige Platz um sie anzuwenden <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
</blockquote>
<p>Ja, die beiden while()-Schleifen schreien geradezu danach <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>PPS: um open()/close() wurden hier schon so einige Glaubenskriege ausgetragen <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Oh, ich hoffe ich fahr keinem an'ne Karre mit meinem Code <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
</blockquote>
<p>Ich bin da nicht so empfindlich, aber warte mal, bis Pi deinen Beitrag entdeckt <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2074928</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2074928</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 07 Jun 2011 20:10:49 GMT</pubDate></item><item><title><![CDATA[Reply to Zugriffsverletzung bei Funktionsaufruf on Tue, 07 Jun 2011 20:42:46 GMT]]></title><description><![CDATA[<p>Schon lange vorher entdeckt und den Kopf geschüttelt, dann war mein Internet weg <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2074945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2074945</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Tue, 07 Jun 2011 20:42:46 GMT</pubDate></item></channel></rss>