<?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[Massives Problem: Laufzeitfehler!]]></title><description><![CDATA[<p>Kurze Einleitung: Neu in C++ und neu im Forum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Ich habe folgendes Programm. Es soll aus einer CSV Datei zwei Spalten einlesen, die durch ein Semikolon getrennt sind</p>
<pre><code class="language-cpp">FRA;EZE
NUE;CDG
FRA;EZE
NUE;CDG
AMS;MUC
NUE;CDG
AMS;MUC
FRA;EZE
NUE;CDG
AMS;MUC
NUE;CDG
AMS;MUC
FRA;EZE
NUE;CDG
AMS;MUC
NUE;CDG
AMS;MUC
FRA;EZE
NUE;CDG
AMS;MUC
</code></pre>
<p>Dazu meine Klasse:</p>
<pre><code class="language-cpp">#ifndef MA_LEG_H
#define MA_LEG_H
#include &lt;iostream&gt;
using namespace std;

class MA_LEG
{	private: 
		string mOrigin;
		string mDestination;

	public:
	// Konstruktor
		MA_LEG() {;}

	//Methoden
		const string getmOrigin() { return mOrigin; }
		const string getmDestination() { return mDestination; }

		string setmOrigin(string mOrigin) {this-&gt;mOrigin=mOrigin;}
		string setmDestination(string mDestination) {this-&gt;mDestination=mDestination;}

		static void ImportData(string file);
};
#endif
</code></pre>
<p>Und meine Funktion zum Einlesen:</p>
<pre><code class="language-cpp">#include &lt;iomanip&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
#include &lt;fstream&gt;
#include &quot;MA_LEG.h&quot;

void MA_LEG::ImportData(string file)
{
//Deklaration zum Einlesen derDatei
ifstream read;

//Öffnen der Datei
read.open (file.c_str());

//Hilfsdeklaration zum Einlesen der einzelnen Zeilen
string row;

//Deklaration des vector-Objekts, welches mit leg-Daten gefüllt wird
vector&lt;MA_LEG&gt; listoflegs;

//Einlesen der kompletten Datei bis zur letzten Zeile 
while(!read.eof())
{
//Objekterzeugung
	MA_LEG objekt;

//Einlesen einer einzelnen Zeile in row	
	getline(read,row);

//Hilfsdeklarationen zum Auffinden des Trennzeichens ';'
	int found[2];
	found[0]=-1;

//Einlesen von Spalte 1 (Origin) als string	 
		found[1]=row.find_first_of(';', found[1-1]+1);
		objekt.setmOrigin(row.substr(found[1-1]+1,found[1]-found[1-1]-1));
		cout &lt;&lt; &quot;|&quot; &lt;&lt; setw(1) &lt;&lt; objekt.getmOrigin() &lt;&lt; &quot;|&quot; ;

//Einlesen von Spalte 2 (Destination) als string		
		found[2]=row.find_first_of(';', found[2-1]+1);
		objekt.setmDestination(row.substr(found[2-1]+1,found[2]-found[2-1]-1));
		cout &lt;&lt; setw(1) &lt;&lt; objekt.getmDestination() &lt;&lt; &quot;|&quot; &lt;&lt; endl; 

//Befüllung des vector-Containers mit herausgelesenen leg-Daten		
		listoflegs.push_back(objekt);
}

//Datei schließen
read.close();

//Ausgabe der Anzahl der eingelesen leg-Objekte.
cout &lt;&lt; listoflegs.size();

}
</code></pre>
<p>Dazu meine main:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &quot;MA_LEG.h&quot;
using namespace std;

int main()
{
//Pfad der Leg-Datei im csv - Format
string file;
cout &lt;&lt; &quot; Bitte geben Sie eine einzulesende Leg-Datei ein: &quot; &lt;&lt; endl;
cout &lt;&lt; &quot; &quot;;
cin &gt;&gt; file;
cout &lt;&lt; endl;

//Import der Daten mit der statischen ImportData-Methode
MA_LEG::ImportData(file);

return 0;
 }
</code></pre>
<p>Kompiliert alles ganz wunderbar und spuckt mir auch ein bisschen was aus, nämlich die ersten 5 Zeilen. Doch dann: STATUS_ACCESS_VIOLATION usw. und er spuckt eine .core Datei mit folgendem Inhalt aus:</p>
<pre><code class="language-cpp">[main] Einlesen 1000 (0) exception: trapped!
[main] Einlesen 1000 (0) exception: code 0xC0000005 at 0x41E1FF
[main] Einlesen 1000 (0) exception: ax 0x0 bx 0x0 cx 0x0 dx 0xA031EB4
[main] Einlesen 1000 (0) exception: si 0xA033034 di 0xA033030 bp 0x247FAAC sp 0x247FAA8
[main] Einlesen 1000 (0) exception: exception is: STATUS_ACCESS_VIOLATION
[main] Einlesen 1000 (0) stack: Stack trace:
[main] Einlesen 1000 (0) stack: frame 0: sp = 0x247F698, pc = 0x6100A2C3
[main] Einlesen 1000 (0) stack: frame 1: sp = 0x247F6D4, pc = 0x7C9032A8
[main] Einlesen 1000 (0) stack: frame 2: sp = 0x247F6F8, pc = 0x7C90327A
[main] Einlesen 1000 (0) stack: frame 3: sp = 0x247F7A8, pc = 0x7C90E48A
[main] Einlesen 1000 (0) stack: frame 4: sp = 0x247FAAC, pc = 0x41C530
[main] Einlesen 1000 (0) stack: frame 5: sp = 0x247FAC0, pc = 0x41B2A4
[main] Einlesen 1000 (0) stack: frame 6: sp = 0x247FB5C, pc = 0x41D568
[main] Einlesen 1000 (0) stack: frame 7: sp = 0x247FB78, pc = 0x41C995
[main] Einlesen 1000 (0) stack: frame 8: sp = 0x247FC04, pc = 0x41C912
[main] Einlesen 1000 (0) stack: frame 9: sp = 0x247FC28, pc = 0x41F5CC
[main] Einlesen 1000 (0) stack: frame 10: sp = 0x247FC48, pc = 0x41E57C
[main] Einlesen 1000 (0) stack: frame 11: sp = 0x247FD08, pc = 0x41E92D
[main] Einlesen 1000 (0) stack: frame 12: sp = 0x247FD24, pc = 0x401691
[main] Einlesen 1000 (0) stack: frame 13: sp = 0x247FF00, pc = 0x40112F
[main] Einlesen 1000 (0) stack: frame 14: sp = 0x247FF44, pc = 0x61004402
[main] Einlesen 1000 (0) stack: frame 15: sp = 0x247FF88, pc = 0x61004420
[main] Einlesen 1000 (0) stack: End of stack trace (more stack frames may be present)
</code></pre>
<p>Irgendwie denke ich das Ganze hat einen ganz einfachen trivialen Grund. Wäre genial wenn mir einer sagen könnte was da los ist. Vielen Dank!</p>
<p>Grüße<br />
Mathias</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/306482/massives-problem-laufzeitfehler</link><generator>RSS for Node</generator><lastBuildDate>Fri, 07 Aug 2026 19:33:49 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/306482.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 Jul 2012 12:18:57 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 12:18:57 GMT]]></title><description><![CDATA[<p>Kurze Einleitung: Neu in C++ und neu im Forum <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Ich habe folgendes Programm. Es soll aus einer CSV Datei zwei Spalten einlesen, die durch ein Semikolon getrennt sind</p>
<pre><code class="language-cpp">FRA;EZE
NUE;CDG
FRA;EZE
NUE;CDG
AMS;MUC
NUE;CDG
AMS;MUC
FRA;EZE
NUE;CDG
AMS;MUC
NUE;CDG
AMS;MUC
FRA;EZE
NUE;CDG
AMS;MUC
NUE;CDG
AMS;MUC
FRA;EZE
NUE;CDG
AMS;MUC
</code></pre>
<p>Dazu meine Klasse:</p>
<pre><code class="language-cpp">#ifndef MA_LEG_H
#define MA_LEG_H
#include &lt;iostream&gt;
using namespace std;

class MA_LEG
{	private: 
		string mOrigin;
		string mDestination;

	public:
	// Konstruktor
		MA_LEG() {;}

	//Methoden
		const string getmOrigin() { return mOrigin; }
		const string getmDestination() { return mDestination; }

		string setmOrigin(string mOrigin) {this-&gt;mOrigin=mOrigin;}
		string setmDestination(string mDestination) {this-&gt;mDestination=mDestination;}

		static void ImportData(string file);
};
#endif
</code></pre>
<p>Und meine Funktion zum Einlesen:</p>
<pre><code class="language-cpp">#include &lt;iomanip&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
#include &lt;fstream&gt;
#include &quot;MA_LEG.h&quot;

void MA_LEG::ImportData(string file)
{
//Deklaration zum Einlesen derDatei
ifstream read;

//Öffnen der Datei
read.open (file.c_str());

//Hilfsdeklaration zum Einlesen der einzelnen Zeilen
string row;

//Deklaration des vector-Objekts, welches mit leg-Daten gefüllt wird
vector&lt;MA_LEG&gt; listoflegs;

//Einlesen der kompletten Datei bis zur letzten Zeile 
while(!read.eof())
{
//Objekterzeugung
	MA_LEG objekt;

//Einlesen einer einzelnen Zeile in row	
	getline(read,row);

//Hilfsdeklarationen zum Auffinden des Trennzeichens ';'
	int found[2];
	found[0]=-1;

//Einlesen von Spalte 1 (Origin) als string	 
		found[1]=row.find_first_of(';', found[1-1]+1);
		objekt.setmOrigin(row.substr(found[1-1]+1,found[1]-found[1-1]-1));
		cout &lt;&lt; &quot;|&quot; &lt;&lt; setw(1) &lt;&lt; objekt.getmOrigin() &lt;&lt; &quot;|&quot; ;

//Einlesen von Spalte 2 (Destination) als string		
		found[2]=row.find_first_of(';', found[2-1]+1);
		objekt.setmDestination(row.substr(found[2-1]+1,found[2]-found[2-1]-1));
		cout &lt;&lt; setw(1) &lt;&lt; objekt.getmDestination() &lt;&lt; &quot;|&quot; &lt;&lt; endl; 

//Befüllung des vector-Containers mit herausgelesenen leg-Daten		
		listoflegs.push_back(objekt);
}

//Datei schließen
read.close();

//Ausgabe der Anzahl der eingelesen leg-Objekte.
cout &lt;&lt; listoflegs.size();

}
</code></pre>
<p>Dazu meine main:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;
#include &quot;MA_LEG.h&quot;
using namespace std;

int main()
{
//Pfad der Leg-Datei im csv - Format
string file;
cout &lt;&lt; &quot; Bitte geben Sie eine einzulesende Leg-Datei ein: &quot; &lt;&lt; endl;
cout &lt;&lt; &quot; &quot;;
cin &gt;&gt; file;
cout &lt;&lt; endl;

//Import der Daten mit der statischen ImportData-Methode
MA_LEG::ImportData(file);

return 0;
 }
</code></pre>
<p>Kompiliert alles ganz wunderbar und spuckt mir auch ein bisschen was aus, nämlich die ersten 5 Zeilen. Doch dann: STATUS_ACCESS_VIOLATION usw. und er spuckt eine .core Datei mit folgendem Inhalt aus:</p>
<pre><code class="language-cpp">[main] Einlesen 1000 (0) exception: trapped!
[main] Einlesen 1000 (0) exception: code 0xC0000005 at 0x41E1FF
[main] Einlesen 1000 (0) exception: ax 0x0 bx 0x0 cx 0x0 dx 0xA031EB4
[main] Einlesen 1000 (0) exception: si 0xA033034 di 0xA033030 bp 0x247FAAC sp 0x247FAA8
[main] Einlesen 1000 (0) exception: exception is: STATUS_ACCESS_VIOLATION
[main] Einlesen 1000 (0) stack: Stack trace:
[main] Einlesen 1000 (0) stack: frame 0: sp = 0x247F698, pc = 0x6100A2C3
[main] Einlesen 1000 (0) stack: frame 1: sp = 0x247F6D4, pc = 0x7C9032A8
[main] Einlesen 1000 (0) stack: frame 2: sp = 0x247F6F8, pc = 0x7C90327A
[main] Einlesen 1000 (0) stack: frame 3: sp = 0x247F7A8, pc = 0x7C90E48A
[main] Einlesen 1000 (0) stack: frame 4: sp = 0x247FAAC, pc = 0x41C530
[main] Einlesen 1000 (0) stack: frame 5: sp = 0x247FAC0, pc = 0x41B2A4
[main] Einlesen 1000 (0) stack: frame 6: sp = 0x247FB5C, pc = 0x41D568
[main] Einlesen 1000 (0) stack: frame 7: sp = 0x247FB78, pc = 0x41C995
[main] Einlesen 1000 (0) stack: frame 8: sp = 0x247FC04, pc = 0x41C912
[main] Einlesen 1000 (0) stack: frame 9: sp = 0x247FC28, pc = 0x41F5CC
[main] Einlesen 1000 (0) stack: frame 10: sp = 0x247FC48, pc = 0x41E57C
[main] Einlesen 1000 (0) stack: frame 11: sp = 0x247FD08, pc = 0x41E92D
[main] Einlesen 1000 (0) stack: frame 12: sp = 0x247FD24, pc = 0x401691
[main] Einlesen 1000 (0) stack: frame 13: sp = 0x247FF00, pc = 0x40112F
[main] Einlesen 1000 (0) stack: frame 14: sp = 0x247FF44, pc = 0x61004402
[main] Einlesen 1000 (0) stack: frame 15: sp = 0x247FF88, pc = 0x61004420
[main] Einlesen 1000 (0) stack: End of stack trace (more stack frames may be present)
</code></pre>
<p>Irgendwie denke ich das Ganze hat einen ganz einfachen trivialen Grund. Wäre genial wenn mir einer sagen könnte was da los ist. Vielen Dank!</p>
<p>Grüße<br />
Mathias</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236871</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236871</guid><dc:creator><![CDATA[Mathias1986]]></dc:creator><pubDate>Mon, 30 Jul 2012 12:18:57 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 12:22:44 GMT]]></title><description><![CDATA[<p>Was soll der Quark mit dem found? Zum Beispiel das hier: <code>found[2]</code> in Zeile 42?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236873</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236873</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Mon, 30 Jul 2012 12:22:44 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 12:24:00 GMT]]></title><description><![CDATA[<p>Wie gesagt: Bin neu und bastel halt ein bisschen rum um zu lernen. <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>Soll ein Array mit ein paar int Einträgen sein wo ich dann die Stellen mit den Semikolons speicher.</p>
<p>Irgendwo da liegt irgendwie auch der Hund begraben warum das ganze nicht funktioniert.</p>
<p>Mörci!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236874</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236874</guid><dc:creator><![CDATA[Mathias1986]]></dc:creator><pubDate>Mon, 30 Jul 2012 12:24:00 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 12:27:34 GMT]]></title><description><![CDATA[<p>Wenn found 2 Einträge hat, von denen der erste found[0] ist, welches ist dann der letzte?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236878</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236878</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 30 Jul 2012 12:27:34 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 12:27:42 GMT]]></title><description><![CDATA[<p>Unabhängig vom Quark:</p>
<p>Der erste Array-Index ist 0 nicht 1.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236879</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236879</guid><dc:creator><![CDATA[Jockelx]]></dc:creator><pubDate>Mon, 30 Jul 2012 12:27:42 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 12:31:53 GMT]]></title><description><![CDATA[<p>Okay, es müsste</p>
<pre><code class="language-cpp">int found[3]
</code></pre>
<p>heißen um 3 Einträge zu haben. Nämlich found[0], found[1] und found [2]. Ändert aber nix am Fehler</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236884</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236884</guid><dc:creator><![CDATA[Mathias1986]]></dc:creator><pubDate>Mon, 30 Jul 2012 12:31:53 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 12:37:17 GMT]]></title><description><![CDATA[<p>Mathias1986 schrieb:</p>
<blockquote>
<p>Okay, es müsste</p>
<pre><code class="language-cpp">int found[3]
</code></pre>
<p>heißen um 3 Einträge zu haben. Nämlich found[0], found[1] und found [2]. Ändert aber nix am Fehler</p>
</blockquote>
<p>Was ist denn Deiner Meinung nach der Inhalt von z.B. <code>found[1]</code> und <code>found[2]</code> , und was meinst Du, was <code>std::string::substr</code> tut, wenn Du es mit diesen Inhalten fütterst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236888</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236888</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Mon, 30 Jul 2012 12:37:17 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 12:42:32 GMT]]></title><description><![CDATA[<p>Also die ersten paar Zeilen funktioniert es ja. Bis Zeile 5 liest er ein, deswegen kann das Ganze so falsch nicht sein (mir ist klar dass das alles wahrscheinlich viel zu kompliziert gemacht ist, aber das ist ja erstmal egal)</p>
<p>found gibt mir in der Zeile die Stelle an, wo das Semikolon ist, was auch funktioniert in einem Test. Und substring gibt mir dann den String zwischen den Semikolons was für die ersten 5 Zeilen auch wunderbar funktioniert. Nur dann kommt dieser STATUS_ACCESS_VIOLATION Fehler bei der Ausführung der mir total rätselhaft erscheint.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236892</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236892</guid><dc:creator><![CDATA[Mathias1986]]></dc:creator><pubDate>Mon, 30 Jul 2012 12:42:32 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 12:42:42 GMT]]></title><description><![CDATA[<p>Mathias1986 schrieb:</p>
<blockquote>
<p>Okay, es müsste</p>
<pre><code class="language-cpp">int found[3]
</code></pre>
<p>heißen um 3 Einträge zu haben. Nämlich found[0], found[1] und found [2]. Ändert aber nix am Fehler</p>
</blockquote>
<p>Dann gib mal bitte ein vollständiges Beispiel an, siehe dritter Link in meiner Signatur.</p>
<p>Ein weiterer Fehler ist zum Beispiel deine Einleselogik aus Prüfung, Lesen, Verarbeiten. Dadurch verarbeitest du im Fehlerfall (Dateiende) einen ungültigen Datensatz, da die Prüfung vor dem Lesefehler stattfindet.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236893</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236893</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 30 Jul 2012 12:42:42 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 12:57:42 GMT]]></title><description><![CDATA[<p>Ok, ich versuchs nochmal <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
<p>Hier ist der Code:</p>
<pre><code class="language-cpp">#include &lt;iomanip&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;
#include &lt;fstream&gt;
using namespace std;

class MA_LEG
{	private: 
		string mOrigin;
		string mDestination;

	public:
		MA_LEG() {;}

		const string getmOrigin() { return mOrigin; }
		const string getmDestination() { return mDestination; }

		string setmOrigin(string mOrigin) {this-&gt;mOrigin=mOrigin;}
		string setmDestination(string mDestination) {this-&gt;mDestination=mDestination;}

		static void ImportData(string file);
};

void MA_LEG::ImportData(string file)
{
ifstream read;
read.open (file.c_str());
string row;
vector&lt;MA_LEG&gt; listoflegs;

while(!read.eof())
{
	MA_LEG objekt;
	getline(read,row);
	int found[3];
	found[0]=-1;

		found[1]=row.find_first_of(';', found[1-1]+1);
		objekt.setmOrigin(row.substr(found[1-1]+1,found[1]-found[1-1]-1));
		cout &lt;&lt; &quot;|&quot; &lt;&lt; setw(1) &lt;&lt; objekt.getmOrigin() &lt;&lt; &quot;|&quot; ;

		found[2]=row.find_first_of(';', found[2-1]+1);
		objekt.setmDestination(row.substr(found[2-1]+1,found[2]-found[2-1]-1));
		cout &lt;&lt; setw(1) &lt;&lt; objekt.getmDestination() &lt;&lt; &quot;|&quot; &lt;&lt; found[1] &lt;&lt; found[2] &lt;&lt; endl; 

		listoflegs.push_back(objekt);
}
read.close();
cout &lt;&lt; listoflegs.size();
}

int main()
{
string file;
cout &lt;&lt; &quot; Bitte geben Sie eine einzulesende Leg-Datei ein: &quot; &lt;&lt; endl;
cout &lt;&lt; &quot; &quot;;
cin &gt;&gt; file;
cout &lt;&lt; endl;

MA_LEG::ImportData(file);
return 0;
 }
</code></pre>
<p>Was will ich?</p>
<p>Ich habe eine csv Datei mit Paaren von Strings (Städte in diesem Fall) die durch Semikolons getrennt sind<br />
Ich suche in found die Semikolons und trenne die strings dazwischen raus mit substr<br />
Diese strings speicher ich in objekten meiner Klasse ab über die set-Methode<br />
Jede Zeile soll ein objekt von MA_LEG sein, was ich dann in den Container listoflegs schiebe und fülle.<br />
Kompilierung funktioniert<br />
Das Ganze geht die ersten fünf Zeilen supergut, aber dann ist es vorbei mit diesem STATUS_ACCESS_VIOLATION Fehler.<br />
Außerdem kommt eine .exe.core Datei dazu, die mir das was ich oben schonmal gepostet habe ausspuckt</p>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19375">@SeppJ</a>: Das mit der fehlerhaften Einleselogik seh ich in meinem Code irgendwie nicht</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236906</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236906</guid><dc:creator><![CDATA[Mathias1986]]></dc:creator><pubDate>Mon, 30 Jul 2012 12:57:42 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 13:06:04 GMT]]></title><description><![CDATA[<p>Mathias1986 schrieb:</p>
<blockquote>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/19375">@SeppJ</a>: Das mit der fehlerhaften Einleselogik seh ich in meinem Code irgendwie nicht</p>
</blockquote>
<p>Nur ganz schnell, ohne mir den Rest anzusehen:</p>
<pre><code class="language-cpp">while (!read.eof()) // hier prüfst du, ob der Stream eof gesetzt hat. (Warum eigentlich nur eof und nicht auch alle anderen Fehler?)
{
 // ...
 getline(read,row); // Hier liest du etwas aus dem Stream, dabei kann eof erreicht werden und das Lesen dadurch scheitern
 // ...
 // Hier verarbeitest du row, egal was beim getline passiert ist, der Lesefehler wird erst beim nächsten Durchlauf entdeckt.
 // Zuvor wird dann irgendeine Nonsenszeile verarbeitet
}
</code></pre>
<p>Von der Logik richtig wäre:</p>
<pre><code class="language-cpp">while (getline(read, row))
{
 // Hier Verarbeitung von row
}
</code></pre>
<p>Das ist ein ganz typisches Antipattern von Leuten, die früher C gemacht haben und nun versuchen, C mit Klassen zu machen. Der Rest deiner Dateibehandlung sieht ähnlich aus (open, close). Darf ich fragen, was dein Lehrbuch ist? Es macht keinen guten Eindruck.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236909</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236909</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 30 Jul 2012 13:06:04 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 13:06:58 GMT]]></title><description><![CDATA[<p>Dirk Louis - From Zero to Hero C++</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236913</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236913</guid><dc:creator><![CDATA[Mathias1986]]></dc:creator><pubDate>Mon, 30 Jul 2012 13:06:58 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 13:11:21 GMT]]></title><description><![CDATA[<p>Mathias1986 schrieb:</p>
<blockquote>
<p>From Zero to Hero C++</p>
</blockquote>
<p>Und so ein reißerischer Titel lässt dich nicht stutzen? <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="😉"
    /> Normalerweise sind solche Titel, die einem große Versprechen machen (von A bis Z, in 21 Tagen, ...) das Papier nicht wert, auf dem sie gedruckt sind. Bei Dirk Louis bekommt man leider auch hin und wieder den entsprechenden Eindruck - ich hab daheim eine C/C++ Referenz von ihm, die einem zwar einen groben Überblick gibts, die man aber nicht zu wörtlich nehmen darf, weil da leider auch oft Mist rauskommt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236915</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236915</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Mon, 30 Jul 2012 13:11:21 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 13:13:33 GMT]]></title><description><![CDATA[<p>Gut zu wissen. Ich mein als Einstieg wars jetzt schon nicht schlecht,<br />
aber solche Details ob das jetzt gut oder schlecht ist kann ich natürlich nicht rauslesen.</p>
<p>Weiß jemand warum mein Programm fehlerhaft ist? <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/2236919</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236919</guid><dc:creator><![CDATA[Mathias1986]]></dc:creator><pubDate>Mon, 30 Jul 2012 13:13:33 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 13:21:43 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Das ist ein ganz typisches Antipattern von Leuten, die früher C gemacht haben und nun versuchen, C mit Klassen zu machen.</p>
</blockquote>
<p>So ein Blödsinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236925</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236925</guid><dc:creator><![CDATA[Bashar]]></dc:creator><pubDate>Mon, 30 Jul 2012 13:21:43 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 13:33:12 GMT]]></title><description><![CDATA[<p>Bashar schrieb:</p>
<blockquote>
<p>SeppJ schrieb:</p>
<blockquote>
<p>Das ist ein ganz typisches Antipattern von Leuten, die früher C gemacht haben und nun versuchen, C mit Klassen zu machen.</p>
</blockquote>
<p>So ein Blödsinn.</p>
</blockquote>
<p>Stimmt. Ich bin zu eingerostet in C. Korrigiere:</p>
<p>Das ist ein ganz typisches Antipattern von Leuten, die früher <s>C</s> Pascal gemacht haben. Es taucht auch sehr oft in schlechten C (und C++) Büchern auf und ist dadurch ein deutliches Warnsignal, dass dieses Buch nicht zu benutzen ist.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2236930</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2236930</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 30 Jul 2012 13:33:12 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 18:17:52 GMT]]></title><description><![CDATA[<p>Problem offenbar gelöst!!!</p>
<p>Ich hatte bei den set-Funktion die Ausgabeformate string. Das ist natürlich quatsch, ich schreibe dort void hin und alles funktioniert. Kann jetzt im Nachhinein jemand erklären warum das so war mit dem Laufzeitfehler? Ist doch irgendwie kurios oder? Wieso hatte das so eine seltsame Auswirkung?</p>
<p>Jetzt kann ich beruhigt schlafen <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="😉"
    /> und den Dirk Louis leg ich dann wohl doch mal beiseite.</p>
<p>Bis dann und thx für die schnellen Antworten!!!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237041</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237041</guid><dc:creator><![CDATA[Mathias1986]]></dc:creator><pubDate>Mon, 30 Jul 2012 18:17:52 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 18:25:26 GMT]]></title><description><![CDATA[<p>Über das Ende einer Funktion mit Rückgabewert zu laufen, ohne etwas zurück zu geben, erzeugt undefiniertes Verhalten.</p>
<p>Konkret wird hier wohl versucht werden, eine Kopie von einem String zu erzeugen, der gar nicht da ist. Da ein String ein komplexes Objekt ist, wegen der fehlenden Rückgabe aber bloß irgendwelcher Datenmüll da steht, scheitert dies grandios.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237043</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237043</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 30 Jul 2012 18:25:26 GMT</pubDate></item><item><title><![CDATA[Reply to Massives Problem: Laufzeitfehler! on Mon, 30 Jul 2012 20:31:32 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Das ist ein ganz typisches Antipattern von Leuten (...)</p>
</blockquote>
<p>Das ist ein ganz typisches Antipattern von Leuten, die iostreams über eine Referenz-Doku gelernt haben (oder mit Hilfe von Manuskripten/Büchern die von Leuten verfasst wurden, die die iostreams über eine Referenz-Doku gelernt haben etcpp.).</p>
<p>Dass ein Stream implizit nach bool konvertierbar ist, ist zwar sehr praktisch, aber auch vollkommen unintuitiv.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237081</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237081</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 30 Jul 2012 20:31:32 GMT</pubDate></item></channel></rss>