<?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[Linkertoolfehler]]></title><description><![CDATA[<p>Hallo,</p>
<p>wenn ich den unten stehenden Quellcode ausführen möchte, erhalte ich folgende Fehlermeldungen:</p>
<p>- error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;_main&quot; in Funktion &quot;___tmainCRTStartup&quot;. F:\Messwerte\Messwerte\Messwerte\MSVCRTD.lib(crtexe.obj) Messwerte</p>
<p>- error LNK1120: 1 nicht aufgelöste externe Verweise. F:\Messwerte\Messwerte\Debug\Messwerte.exe 1 1 Messwerte</p>
<p>Beide Meldungen habe ich bisher noch nie erhalten und konnte den Fehler leider auch noch nicht finden.<br />
Vielleicht könnt ihr mir ein wenig auf die Spürunge helfen?!</p>
<p>Mein Quellcode schaut wie folgt aus:</p>
<p>Main:</p>
<pre><code>#include &lt;iostream&gt;

#include &quot;DatenArray.h&quot;
#include &lt;fstream&gt;

#include &lt;string&gt;
#include &lt;stdio.h&gt;

#include &lt;string.h&gt;
using namespace std;

 void Main()
{
	double pwm = 0, spannung = 0, x = 0;
	DatenArray p;
	DatenArray s;
	DatenArray x1;
	ifstream datei;
	string zeichen;
	datei.open(&quot;F:\\Messdaten.txt&quot;);

	while(!datei.eof())
	{
		getline(datei,zeichen);
		const char *c = zeichen.c_str();
		scanf(c,&quot;%d,%d,%d&quot;,pwm, spannung, x);
		p.AddElement(pwm);
		s.AddElement(spannung);
		x1.AddElement(x);

	}
	datei.close();

}
</code></pre>
<p>Klasse DatenArray:</p>
<pre><code>#include &quot;DatenArray.h&quot;

DatenArray :: DatenArray(int size)
:size(2)
{
	count = 0;
	datenArray = new double[size];
}

void DatenArray :: AddElement(double value)
{
	if(count == size)
	{
		double* temparr = new double [(size*2)];
		for (int i = 0; i &lt; (size); i++)
		{
			temparr[i] = datenArray[i];
		}
		datenArray = temparr;
		size *=2;
	}
	datenArray[count] = value;
	count ++;
}

int DatenArray :: GetElement(int index)
{
	if (index &lt; count)
	{
		return datenArray[index];

	}
	// Out of Bounds
	throw new IndexOutOfBoundException(&quot;Zugriff auf ein nicht existentes Element&quot;);
}

int DatenArray :: Count()
{
	return count;
}

int DatenArray :: Size()
{
	return size;
}

bool DatenArray :: IsEmpty()
{
	return (count) &lt; 1;
}

DatenArray :: ~DatenArray()
{
}
</code></pre>
<p>Header-Datei DatenArray:</p>
<pre><code>#ifndef UARRAY_H
#define UARRAY_H

#include &lt;stdexcept&gt;

class DatenArray
{
	public:
		//Testen welcher Konstruktor notwendig ist
		//DatenArray();
		DatenArray(int size = 2); //Möglicherweise int weg

		// Löscht das Element
		~DatenArray();

		//Fügt ein Element hinzu
		void AddElement (double value);

		//Gibt ein Element an der angegebenen Stelle zurück
		int GetElement (int index);

		//Anzahl der aktuell beinhalteten Elemente
		int Count ();

		//Größe des Array
		int Size();

		//Gibt zurück, ob das Array leer ist
		bool IsEmpty();

	private:
		int count;
		double* datenArray;

		//eventl.
		int size;
};

class IndexOutOfBoundException : public std::runtime_error { public: IndexOutOfBoundException(const std::string&amp; message) : std::runtime_error(message.c_str()) {}};

#endif
</code></pre>
<p>Vielen lieben Dank schon einmal für eure Mühe!</p>
<p>Edit: gelöst</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/295606/linkertoolfehler</link><generator>RSS for Node</generator><lastBuildDate>Sat, 15 Aug 2026 08:31:19 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/295606.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 17 Nov 2011 15:58:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Linkertoolfehler on Fri, 18 Nov 2011 23:30:26 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>wenn ich den unten stehenden Quellcode ausführen möchte, erhalte ich folgende Fehlermeldungen:</p>
<p>- error LNK2019: Verweis auf nicht aufgelöstes externes Symbol &quot;_main&quot; in Funktion &quot;___tmainCRTStartup&quot;. F:\Messwerte\Messwerte\Messwerte\MSVCRTD.lib(crtexe.obj) Messwerte</p>
<p>- error LNK1120: 1 nicht aufgelöste externe Verweise. F:\Messwerte\Messwerte\Debug\Messwerte.exe 1 1 Messwerte</p>
<p>Beide Meldungen habe ich bisher noch nie erhalten und konnte den Fehler leider auch noch nicht finden.<br />
Vielleicht könnt ihr mir ein wenig auf die Spürunge helfen?!</p>
<p>Mein Quellcode schaut wie folgt aus:</p>
<p>Main:</p>
<pre><code>#include &lt;iostream&gt;

#include &quot;DatenArray.h&quot;
#include &lt;fstream&gt;

#include &lt;string&gt;
#include &lt;stdio.h&gt;

#include &lt;string.h&gt;
using namespace std;

 void Main()
{
	double pwm = 0, spannung = 0, x = 0;
	DatenArray p;
	DatenArray s;
	DatenArray x1;
	ifstream datei;
	string zeichen;
	datei.open(&quot;F:\\Messdaten.txt&quot;);

	while(!datei.eof())
	{
		getline(datei,zeichen);
		const char *c = zeichen.c_str();
		scanf(c,&quot;%d,%d,%d&quot;,pwm, spannung, x);
		p.AddElement(pwm);
		s.AddElement(spannung);
		x1.AddElement(x);

	}
	datei.close();

}
</code></pre>
<p>Klasse DatenArray:</p>
<pre><code>#include &quot;DatenArray.h&quot;

DatenArray :: DatenArray(int size)
:size(2)
{
	count = 0;
	datenArray = new double[size];
}

void DatenArray :: AddElement(double value)
{
	if(count == size)
	{
		double* temparr = new double [(size*2)];
		for (int i = 0; i &lt; (size); i++)
		{
			temparr[i] = datenArray[i];
		}
		datenArray = temparr;
		size *=2;
	}
	datenArray[count] = value;
	count ++;
}

int DatenArray :: GetElement(int index)
{
	if (index &lt; count)
	{
		return datenArray[index];

	}
	// Out of Bounds
	throw new IndexOutOfBoundException(&quot;Zugriff auf ein nicht existentes Element&quot;);
}

int DatenArray :: Count()
{
	return count;
}

int DatenArray :: Size()
{
	return size;
}

bool DatenArray :: IsEmpty()
{
	return (count) &lt; 1;
}

DatenArray :: ~DatenArray()
{
}
</code></pre>
<p>Header-Datei DatenArray:</p>
<pre><code>#ifndef UARRAY_H
#define UARRAY_H

#include &lt;stdexcept&gt;

class DatenArray
{
	public:
		//Testen welcher Konstruktor notwendig ist
		//DatenArray();
		DatenArray(int size = 2); //Möglicherweise int weg

		// Löscht das Element
		~DatenArray();

		//Fügt ein Element hinzu
		void AddElement (double value);

		//Gibt ein Element an der angegebenen Stelle zurück
		int GetElement (int index);

		//Anzahl der aktuell beinhalteten Elemente
		int Count ();

		//Größe des Array
		int Size();

		//Gibt zurück, ob das Array leer ist
		bool IsEmpty();

	private:
		int count;
		double* datenArray;

		//eventl.
		int size;
};

class IndexOutOfBoundException : public std::runtime_error { public: IndexOutOfBoundException(const std::string&amp; message) : std::runtime_error(message.c_str()) {}};

#endif
</code></pre>
<p>Vielen lieben Dank schon einmal für eure Mühe!</p>
<p>Edit: gelöst</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145671</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145671</guid><dc:creator><![CDATA[Krümelkeks]]></dc:creator><pubDate>Fri, 18 Nov 2011 23:30:26 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:01:18 GMT]]></title><description><![CDATA[<p>Dein Programm enthält kein</p>
<pre><code class="language-cpp">int main()
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2145672</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145672</guid><dc:creator><![CDATA[manni66]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:01:18 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:02:24 GMT]]></title><description><![CDATA[<p>Danke für die schnelle Antwort.<br />
Aber auch das löst den Fehler nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145674</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145674</guid><dc:creator><![CDATA[Krümelkeks]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:02:24 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:06:34 GMT]]></title><description><![CDATA[<p>Hat sich die Fehlermeldung geändert nachdem du void Main() in int main() geändert hast?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145675</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145675</guid><dc:creator><![CDATA[Fehlermeldung]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:06:34 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:09:04 GMT]]></title><description><![CDATA[<p>Leider nein</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145676</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145676</guid><dc:creator><![CDATA[Krümelkeks]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:09:04 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:09:29 GMT]]></title><description><![CDATA[<p>Gerade getestet. Bei mir kommt die Fehlermeldung nur wenn er die main() Funktion nicht finden kann. Also wirst du das noch immer falsch drinnen stehen haben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145677</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145677</guid><dc:creator><![CDATA[Fehlermeldung]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:09:29 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:12:30 GMT]]></title><description><![CDATA[<p>Ich hab es nun so drin stehen. Aber es ist immer noch die selber Fehlermeldung.</p>
<pre><code>int main()
{
	double pwm = 0, spannung = 0, x = 0;
	DatenArray p;
	DatenArray s;
	DatenArray x1;
	ifstream datei;
</code></pre>
<p>Und natürlich am Ende return 0;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145678</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145678</guid><dc:creator><![CDATA[Krümelkeks]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:12:30 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:17:23 GMT]]></title><description><![CDATA[<p>Ah nun funktioniert es.<br />
War wohl mit den Gedanken woanders...</p>
<p>Es wird nun versucht eine Date mit Werten einzulesen, die durch ein ; getrennt sind. Leider bleibt das Programm in der while-Schleife hängen.<br />
Habt ihr hierfür vielleicht auch noch einen Tipp für mich?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145680</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145680</guid><dc:creator><![CDATA[Krümelkeks]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:17:23 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:22:35 GMT]]></title><description><![CDATA[<p>Sehr komisch, dass der Linker main dann trotzdem nicht findet. Geh mal sicher, dass die main.cpp nicht vom Build ausgeschlossen ist. Falls das nicht hilft: Klicke auf Projektmappe <strong>neu</strong> erstellen, hat bei mir öfters bei Link-Fehlern geholfen.<br />
Im Zweifellsfall VS nochmal neustarten, manchmal spinnt das Ding einfach.<br />
EDIT: Zu spät <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2145681</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145681</guid><dc:creator><![CDATA[Jonas OSDever]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:22:35 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:23:29 GMT]]></title><description><![CDATA[<p>Nach einem Neustart hat es endlich funktioniert.</p>
<p>Beim Debuggen hab ich festgestellt, dass er sich wohl in dieser Zeile aufhängt:</p>
<pre><code>const char *c = zeichen.c_str();
scanf(c,&quot;%d,%d,%d&quot;,pwm, spannung, x);
</code></pre>
<p>Habt ihr ne Idee?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145684</guid><dc:creator><![CDATA[Krümelkeks]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:23:29 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:30:41 GMT]]></title><description><![CDATA[<p>Krümelkeks schrieb:</p>
<blockquote>
<p>Habt ihr ne Idee?</p>
</blockquote>
<p>Ja. C++-Streams statt C-Funktionen benutzen. Da kannst du dann einfacher debuggen und schauen, was passiert und wo er sich aufhängt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145691</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145691</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:30:41 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:30:48 GMT]]></title><description><![CDATA[<p>Krümelkeks schrieb:</p>
<blockquote>
<pre><code>const char *c = zeichen.c_str();
scanf(c,&quot;%d,%d,%d&quot;,pwm, spannung, x);
</code></pre>
<p>Habt ihr ne Idee?</p>
</blockquote>
<p>Ja. Das ist total falsch. Was soll das machen? Suchst du vielleicht sscanf? Und was hätte beides in einem C++ Programm zu suchen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145692</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145692</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:30:48 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:31:33 GMT]]></title><description><![CDATA[<p>Warum dein Programm stehenbleibt weiß ich jetzt nicht, allerdings fallen mir auf den ersten Blick einige grobe Macken auf:</p>
<ol>
<li>
<p>Du verwendest <code>string.h</code> und <code>stdlib.h</code> . Unter C++ bindet man stattdessen <code>cstring</code> und <code>cstdlib</code> ein.</p>
</li>
<li>
<p>Deine Klasse Datenarray kann durch <code>std::vector&lt;double&gt;</code> ersetzt werden, der funktioniert wenigstens und erzeugt keine Speicherlecks.</p>
</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/2145693</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145693</guid><dc:creator><![CDATA[DocShoe]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:31:33 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:40:02 GMT]]></title><description><![CDATA[<p>Für die, die nicht sehen, wo der fehler ist: Er verwendet seinen String als Formatstring, der Formatstring selber wird damit zum Argument und dann passieren ganz schlimme Sachen...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145699</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145699</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:40:02 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:44:08 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Krümelkeks schrieb:</p>
<blockquote>
<pre><code>const char *c = zeichen.c_str();
scanf(c,&quot;%d,%d,%d&quot;,pwm, spannung, x);
</code></pre>
<p>Habt ihr ne Idee?</p>
</blockquote>
<p>Ja. Das ist total falsch. Was soll das machen? Suchst du vielleicht sscanf? Und was hätte beides in einem C++ Programm zu suchen?</p>
</blockquote>
<p>Hatte nach etwas gesucht,dass meine eingelesen Zeile auf 3 Variablen speichert und hatte diese Funktion gefunden.<br />
Ich muss dazu sagen,dass ich kaum mit C++ arbeite.Eigentlich nur wegen dem Studium.Hab mich eher mit C# beschäftigt.</p>
<p>Vielen lieben Dank für all die Hinweise.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145702</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145702</guid><dc:creator><![CDATA[Krümelkeks]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:44:08 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:45:21 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Für die, die nicht sehen, wo der fehler ist: Er verwendet seinen String als Formatstring, der Formatstring selber wird damit zum Argument und dann passieren ganz schlimme Sachen...</p>
</blockquote>
<p>Gibts eine gute Lösung hierfür?</p>
<p>Bin übrigens eine sie <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/2145703</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145703</guid><dc:creator><![CDATA[Krümelkeks]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:45:21 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 16:56:24 GMT]]></title><description><![CDATA[<p>Krümelkeks schrieb:</p>
<blockquote>
<p>Gibts eine gute Lösung hierfür?</p>
</blockquote>
<p>So wie du es schreibst, meinst du sscanf, nicht scanf (beide mal nachschlagen!). Das ist dann aber beides C, kein C++. Folge pumuckls Rat und nutze die C++-Streams. Deine ganze main:</p>
<pre><code class="language-cpp">void Main()
{
    double pwm = 0, spannung = 0, x = 0;
    DatenArray p;
    DatenArray s;
    DatenArray x1;
    ifstream datei;
    string zeichen;
    datei.open(&quot;F:\\Messdaten.txt&quot;);

    while(!datei.eof())
    {
        getline(datei,zeichen);
        const char *c = zeichen.c_str();
        scanf(c,&quot;%d,%d,%d&quot;,pwm, spannung, x);
        p.AddElement(pwm);
        s.AddElement(spannung);
        x1.AddElement(x);

    }
    datei.close(); 
}
</code></pre>
<p>würde man in C++ so schreiben:</p>
<pre><code class="language-cpp">int main()
{
    DatenArray p;
    DatenArray s;
    DatenArray x1;
    {
      ifstream datei(&quot;F:\\Messdaten.txt&quot;);
      double pwm, spannung , x;
      while(datei &gt;&gt; pwm &gt;&gt; spannung &gt;&gt; x)
        {
          p.AddElement(pwm);
          s.AddElement(spannung);
          x1.AddElement(x);
        }
    }
}
</code></pre>
<p>Hierbei habe ich übrigens noch einen Fehler in der Programmlogik bereinigt: Du prüfst auf Dateiende, dann liest du, dann speicherst du ab, egal was beim Lesen passiert ist (es könnte Dateiende passiert sein). Richtig ist natürlich Lesen, dann prüfen ob dies erfolgreich war (und zwar auf alle(!) Fehler), dann abspeichern.</p>
<p>Die p, s und x1 betteln übrigens danach, irgendwie zu einer Klasse zusammengefasst zu werden. Und dein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> DatenArray ist eine (schlechte) Kopie von std::vector <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> .</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145704</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145704</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 17 Nov 2011 16:56:24 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 22:30:12 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>Krümelkeks schrieb:</p>
<blockquote>
<p>Gibts eine gute Lösung hierfür?</p>
</blockquote>
<p>So wie du es schreibst, meinst du sscanf, nicht scanf (beide mal nachschlagen!). Das ist dann aber beides C, kein C++. Folge pumuckls Rat und nutze die C++-Streams. Deine ganze main:</p>
<pre><code class="language-cpp">void Main()
{
    double pwm = 0, spannung = 0, x = 0;
    DatenArray p;
    DatenArray s;
    DatenArray x1;
    ifstream datei;
    string zeichen;
    datei.open(&quot;F:\\Messdaten.txt&quot;);

    while(!datei.eof())
    {
        getline(datei,zeichen);
        const char *c = zeichen.c_str();
        scanf(c,&quot;%d,%d,%d&quot;,pwm, spannung, x);
        p.AddElement(pwm);
        s.AddElement(spannung);
        x1.AddElement(x);
       
    }
    datei.close(); 
}
</code></pre>
<p>würde man in C++ so schreiben:</p>
<pre><code class="language-cpp">int main()
{
    DatenArray p;
    DatenArray s;
    DatenArray x1;
    {
      ifstream datei(&quot;F:\\Messdaten.txt&quot;);
      double pwm, spannung , x;
      while(datei &gt;&gt; pwm &gt;&gt; spannung &gt;&gt; x)
        {
          p.AddElement(pwm);
          s.AddElement(spannung);
          x1.AddElement(x);
        }
    }
}
</code></pre>
<p>Hierbei habe ich übrigens noch einen Fehler in der Programmlogik bereinigt: Du prüfst auf Dateiende, dann liest du, dann speicherst du ab, egal was beim Lesen passiert ist (es könnte Dateiende passiert sein). Richtig ist natürlich Lesen, dann prüfen ob dies erfolgreich war (und zwar auf alle(!) Fehler), dann abspeichern.</p>
<p>Die p, s und x1 betteln übrigens danach, irgendwie zu einer Klasse zusammengefasst zu werden. Und dein <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> DatenArray ist eine (schlechte) Kopie von std::vector <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/26a0.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--warning"
      title=":warning:"
      alt="⚠"
    /> .</p>
</blockquote>
<p>Vielen Dank.<br />
Habe es gerade einmal ausprobiert. Aber auch hier kommt er erst gar nicht in die while-Schleife hinein.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145807</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145807</guid><dc:creator><![CDATA[Krümelkeks]]></dc:creator><pubDate>Thu, 17 Nov 2011 22:30:12 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 22:44:45 GMT]]></title><description><![CDATA[<p>Dann exisitert die Datei nicht oder kann aus anderen Gründen nicht geöffnet werden oder es findet bereits in der ersten Zeile ein Lesefehler statt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145810</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145810</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 17 Nov 2011 22:44:45 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 22:58:36 GMT]]></title><description><![CDATA[<p>Datei exestiert. Wird auch geöffnet. Er springt in den Schleifenkopf und dann gleich ans Ende der Main.</p>
<p>So langsam verzweifel ich wirklich. Das mach definitiv keinen Spaß mehr...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145814</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145814</guid><dc:creator><![CDATA[Krümelkeks]]></dc:creator><pubDate>Thu, 17 Nov 2011 22:58:36 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 22:56:55 GMT]]></title><description><![CDATA[<p>Dann stehen da keine drei doubles. Zeig mal den Anfang der Datei.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145816</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145816</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 17 Nov 2011 22:56:55 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 23:03:42 GMT]]></title><description><![CDATA[<p>Ich habe zum Testen eine einfachte txt Datei mit folgenden Testwerten erstellt:<br />
21.23;234.2;123</p>
<p>Die eigentliche Datei, die später eingelesen werden soll, hat natürlich weitaus mehr Werte.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145821</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145821</guid><dc:creator><![CDATA[Krümelkeks]]></dc:creator><pubDate>Thu, 17 Nov 2011 23:03:42 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 23:07:10 GMT]]></title><description><![CDATA[<p>Dann ist ja auch kein Wunder, wenn da noch Semikolons zwischen stehen. Mach mal:</p>
<pre><code class="language-cpp">double pwm, spannung , x;
      char semikolon;
      while(datei &gt;&gt; pwm &gt;&gt; semikolon &gt;&gt; spannung &gt;&gt; semikolon &gt;&gt; x)
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2145822</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145822</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 17 Nov 2011 23:07:10 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Thu, 17 Nov 2011 23:15:51 GMT]]></title><description><![CDATA[<p>Oh, danke. Ich dachte ich hätte es erwähnt.<br />
Schaut schon besser aus. Den ersten Wert speichert er korrekt. Bei den beiden hinteren zahlen macht er irgendwie alles durcheinander.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145825</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145825</guid><dc:creator><![CDATA[Krümelkeks]]></dc:creator><pubDate>Thu, 17 Nov 2011 23:15:51 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Fri, 18 Nov 2011 00:28:06 GMT]]></title><description><![CDATA[<p>Wenn du dich klarer ausdrücken würdest oder mehr Informationen liefern würdest, könnte man dir vielleicht sogar helfen. Also besser nichts verraten!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145832</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145832</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Fri, 18 Nov 2011 00:28:06 GMT</pubDate></item><item><title><![CDATA[Reply to Linkertoolfehler on Fri, 18 Nov 2011 01:20:25 GMT]]></title><description><![CDATA[<p>Habe den von dir geschriebenen Quellcode eingefügt. Dadurch ist er nun auch in die Schleife gesprungen.</p>
<p>Beim debuggen habe ich feststellen müssen, dass er auf die Variable pwm 21.23 speichert. Dies ist auch der richtige Wert.<br />
Hingegen aber auf die Variable spannung 34.2 anstatt von 234.2 und auf x 23.00 anstatt 123. Irgendwo scheinen also Zahlenwerte verloren zu gehen.<br />
Fehlermeldungen gibt es ansonsten nicht und das Programm wird auch ordnungsgemäß beendet.</p>
<p>Danke für deine Bemühungen!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2145836</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2145836</guid><dc:creator><![CDATA[Krümelkeks]]></dc:creator><pubDate>Fri, 18 Nov 2011 01:20:25 GMT</pubDate></item></channel></rss>