<?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[&amp;quot;?&amp;quot; aus Datei einlesen]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte in einer Konsolenanwendung eine Datei einlesen, die folgende Form hat:</p>
<p>2,1,7,0,16,-7,1,3,1,2,9,5,2,4,2,3,1,0,3,5,3,4,3,3,2,3,no<br />
1,13,2,1,14,-8,1,1,2,2,9,4,7,9,2,0,9,3,5,1,1,5,4,5,4,2,no<br />
2,12,2,0,16,-6,1,1,6,8,6,4,9,8,4,0,8,0,5,5,4,3,3,5,2,3,no<br />
2,6,1,0,15,-7,1,1,2,1,8,6,7,10,2,0,2,2,3,2,3,2,2,2,3,5,no<br />
2,9,8,0,16,-5,1,3,1,8,7,4,3,8,1,3,2,0,3,5,5,2,1,4,2,2,no<br />
2,12,1,1,14,-7,3,1,8,7,9,5,5,4,1,0,3,0,1,1,4,4,3,1,1,1,no<br />
2,1,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,no<br />
2,6,3,0,15,-3,3,2,7,2,6,7,5,8,2,6,3,3,5,4,2,5,3,4,5,1,no<br />
...</p>
<p>die ? bedeuten dabei einen fehlenden Wert.</p>
<p>Mit<br />
token = strtok(zeile, separator);<br />
trenne ich dabei die Werte.<br />
Wenn ich jetzt ein Fragezeichen einlese, wird eine 0 eingelesen<br />
und token == &quot;?&quot; gibt false zurück.</p>
<p>Wo ein ? hätte ich gerne eine Zahl außerhalb des Definitionsberechs(z.B. -42) in mein Array geschrieben statt eine 0.</p>
<p>Kann ich beim Einlesen die ? irgenwie erkennen?<br />
vielen Danke für Antworten</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/298695/quot-quot-aus-datei-einlesen</link><generator>RSS for Node</generator><lastBuildDate>Thu, 13 Aug 2026 18:47:37 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/298695.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 25 Jan 2012 20:30:36 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 20:30:36 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>ich möchte in einer Konsolenanwendung eine Datei einlesen, die folgende Form hat:</p>
<p>2,1,7,0,16,-7,1,3,1,2,9,5,2,4,2,3,1,0,3,5,3,4,3,3,2,3,no<br />
1,13,2,1,14,-8,1,1,2,2,9,4,7,9,2,0,9,3,5,1,1,5,4,5,4,2,no<br />
2,12,2,0,16,-6,1,1,6,8,6,4,9,8,4,0,8,0,5,5,4,3,3,5,2,3,no<br />
2,6,1,0,15,-7,1,1,2,1,8,6,7,10,2,0,2,2,3,2,3,2,2,2,3,5,no<br />
2,9,8,0,16,-5,1,3,1,8,7,4,3,8,1,3,2,0,3,5,5,2,1,4,2,2,no<br />
2,12,1,1,14,-7,3,1,8,7,9,5,5,4,1,0,3,0,1,1,4,4,3,1,1,1,no<br />
2,1,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,no<br />
2,6,3,0,15,-3,3,2,7,2,6,7,5,8,2,6,3,3,5,4,2,5,3,4,5,1,no<br />
...</p>
<p>die ? bedeuten dabei einen fehlenden Wert.</p>
<p>Mit<br />
token = strtok(zeile, separator);<br />
trenne ich dabei die Werte.<br />
Wenn ich jetzt ein Fragezeichen einlese, wird eine 0 eingelesen<br />
und token == &quot;?&quot; gibt false zurück.</p>
<p>Wo ein ? hätte ich gerne eine Zahl außerhalb des Definitionsberechs(z.B. -42) in mein Array geschrieben statt eine 0.</p>
<p>Kann ich beim Einlesen die ? irgenwie erkennen?<br />
vielen Danke für Antworten</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172525</guid><dc:creator><![CDATA[uerderli]]></dc:creator><pubDate>Wed, 25 Jan 2012 20:30:36 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 20:34:35 GMT]]></title><description><![CDATA[<p>uerderli schrieb:</p>
<blockquote>
<p>[...] und token == &quot;?&quot; gibt false zurück.</p>
</blockquote>
<p>... <code>==</code> ist eine besch ... eidene Idee, Strings auf gleichheit zu prüfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172532</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172532</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 25 Jan 2012 20:34:35 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 20:36:06 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>uerderli schrieb:</p>
<blockquote>
<p>[...] und token == &quot;?&quot; gibt false zurück.</p>
</blockquote>
<p>... <code>==</code> ist eine besch ... eidene Idee, Strings auf gleichheit zu prüfen.</p>
</blockquote>
<p>Ja, denn String-Literale und C-Strings sind nichts anderes als Zeiger, und nur wenn zwei Zeiger auf den Gleichen Speicherbereich verweisen sind sie &quot;gleich&quot;.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172533</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172533</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 25 Jan 2012 20:36:06 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 20:38:33 GMT]]></title><description><![CDATA[<p>ok, dann vergleiche ich die Strings mit:<br />
int strcmp(const char *pszS1, const char *pszS2)</p>
<p>aber das ? wird ja immernoch als 0 eingelesen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172537</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172537</guid><dc:creator><![CDATA[uerderli]]></dc:creator><pubDate>Wed, 25 Jan 2012 20:38:33 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 20:44:15 GMT]]></title><description><![CDATA[<p>uerderli schrieb:</p>
<blockquote>
<p>ok, dann vergleiche ich die Strings mit:<br />
int strcmp(const char *pszS1, const char *pszS2)</p>
<p>aber das ? wird ja immernoch als 0 eingelesen.</p>
</blockquote>
<p>Nein verdammt! Jetzt nimm C++-Strings statt C-Strings und mach es nochmal! Viertelstunde in die Ecke, sind wir hier im C- oder <strong>C++</strong>-Forum!? <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> <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="🙄"
    /><br />
Edit: Wenn dir C++-Strings zu unperformant sind...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172543</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172543</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 25 Jan 2012 20:44:15 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 20:41:13 GMT]]></title><description><![CDATA[<p>Spinner.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172544</guid><dc:creator><![CDATA[314159265358979]]></dc:creator><pubDate>Wed, 25 Jan 2012 20:41:13 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 20:44:32 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/22268">@PI</a>: Ma*l.<br />
@TE: Zeig mal ein wenig mehr Code, ich vermute du willst ins C-Forum... <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/2172546</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172546</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 25 Jan 2012 20:44:32 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 20:46:54 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Swordfish schrieb:</p>
<blockquote>
<p>[...]</p>
</blockquote>
<p>[...]</p>
</blockquote>
<p>Danke für die Klarstellung... <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>@OP: wie liest Du?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172551</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 25 Jan 2012 20:46:54 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 20:50:13 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>Hacker schrieb:</p>
<blockquote>
<p>Swordfish schrieb:</p>
<blockquote>
<p>[...]</p>
</blockquote>
<p>[...]</p>
</blockquote>
<p>Danke für die Klarstellung... <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>
</blockquote>
<p>Danke für deine nicht-existierende Erklärung, wieso der ==-Operator nicht sinnvoll ist. <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/2172554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172554</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 25 Jan 2012 20:50:13 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 20:52:09 GMT]]></title><description><![CDATA[<p>sorry,</p>
<p>ich habe gerade nach<br />
c++ strings auf gleichheit überprüfen<br />
gegoogelt und die ++ wurden ignoriert und da hab ich strcmp gefunden.</p>
<p>wie kann ich den sonst c++-strings vergleichen?<br />
In meinen C++ Buch steht, dass es mit == geht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172558</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172558</guid><dc:creator><![CDATA[uerderli]]></dc:creator><pubDate>Wed, 25 Jan 2012 20:52:09 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 20:55:20 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">std::string Hallo(&quot;Hallo&quot;);///DAS
std::string ZweitesHallo(&quot;Hallo&quot;);

std::cout &lt;&lt; ( (Hallo == ZweitesHallo) ? &quot;Die Strings sind gleich&quot; : &quot;Die Strings sind nicht gleich&quot;) &lt;&lt; &quot;!\n&quot;;
</code></pre>
<p>Das sind C++-Strings mit überladenen Vergleichs-Operatoren. Intern werden die Char-Arrays der beiden (wenn sie eines haben, was ich nicht genau weiß) Strings auf Gleichheit geprüft; wie, ist nicht dein Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172563</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172563</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 25 Jan 2012 20:55:20 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 20:58:12 GMT]]></title><description><![CDATA[<p>also ist doch mit == alles perfekt oder nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172566</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172566</guid><dc:creator><![CDATA[uerderli]]></dc:creator><pubDate>Wed, 25 Jan 2012 20:58:12 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 20:58:50 GMT]]></title><description><![CDATA[<p>uerderli schrieb:</p>
<blockquote>
<p>[...]<br />
In meinen C++ Buch steht, dass es mit == geht.</p>
</blockquote>
<p>Wenn es <code>std::string</code> s sind, stimmt das auch ...</p>
<p>hint: <code>char* sonstwas</code> oder <code>&quot;foobar&quot;</code> sind keine <code>std::string</code> s ...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172568</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172568</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 25 Jan 2012 20:58:50 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 21:08:06 GMT]]></title><description><![CDATA[<p>uerderli schrieb:</p>
<blockquote>
<p>also ist doch mit == alles perfekt oder nicht?</p>
</blockquote>
<p><strong>Aber nicht bei Zeigern.</strong> Da müsstest du diese zuerst dereferenzieren, und nicht mal das klappt - wenn du folgendes machst:</p>
<pre><code class="language-cpp">*&quot;Hallo Welt!&quot;
</code></pre>
<p>ist das Ergebnis 'H'. String-Literale sind nähmlich eigentlich char-Pointer mit Null-Terminatoren.</p>
<pre><code class="language-cpp">&quot;Hal&quot; :

0x65464ea      73   //Oder so ähnlich; ASCII-, bzw. ANSI-Werte
0x65464eb      97
0x65464ec      109
0x65464ed      0
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2172576</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172576</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 25 Jan 2012 21:08:06 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 21:06:33 GMT]]></title><description><![CDATA[<p>so hier mal mein Code</p>
<pre><code class="language-cpp">#include &quot;stdafx.h&quot;

#include &lt;iostream&gt;
#include &lt;fstream&gt;
#include &lt;string&gt;

#define num 9658
#define att 27

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
	ifstream datei(&quot;auf.txt&quot;);

	if(!datei)
	{
		cerr &lt;&lt; &quot;Fehler beim Öffnen&quot;;
		cin.get();
		return 2;
	}

	//int* tap;
	int (*tab)[att] = new int[num][att];
	char zeile[70];
	char separator[] = &quot;,&quot;;
	char* token;
	int z = 0, s = 0;
	datei.getline(zeile, 70);
	while( datei.getline(zeile, 70))
	{
		s = 0;
		token = strtok(zeile, separator);        /* erstes Token ermitteln */
		while( token != NULL )
		{
			//if(token != &quot;no&quot; || token != &quot;yes&quot; || token != &quot;?&quot;)
			if(strcmp(token, &quot;no&quot;) != 0 || strcmp(token, &quot;yes&quot;) != 0 || strcmp(token, &quot;?&quot;) != 0)
			{
				tab[z][s] = atoi(token);
				cout &lt;&lt; tab[z][s] &lt;&lt; &quot; | &quot;;
			}
			else
			{
				if(token == &quot;no&quot;)
					tab[z][s] = 0;
				else
				if(token == &quot;yes&quot;)	
					tab[z][s] = 1;
				else
				if(token == &quot;?&quot;)
					tab[z][s] = -42;
			}
			token = strtok(NULL, separator);        /* weitere Token ermitteln */
			++s;
		}
		//cout &lt;&lt; endl &lt;&lt; z &lt;&lt; &quot; geschaft&quot; &lt;&lt; endl;
		//cin.sync();
		//cin.get();
		++z;
	}

	cout &lt;&lt; &quot;Dateneinfelsen abgeschossen&quot; &lt;&lt; endl;

	//double* tab2;
	double (*tab2)[num] = new double[num][num];  //Distanzmatrix

	double diff;
	double sum;

	for(int i = 0; i &lt; num -1; ++i)
	{
		for(int j = i+1; j &lt; num; ++j)
		{
			sum = 0;
			for(int k = 0; k &lt; att - 1; ++k)  //cancerler nicht
			{
				if(tab[i][k] == -42 || tab[j][k] == -42)
					diff = 0;
				else
					diff = tab[i][k] - tab[j][k];
				sum += diff * diff;
			}
			tab2[i][j] = sqrt(sum);
			//cout &lt;&lt; endl &lt;&lt; i &lt;&lt; &quot; &quot; &lt;&lt; j &lt;&lt; &quot; &quot; &lt;&lt; tab2[i][j] &lt;&lt; endl;
			//cin.sync();
			//cin.get();
		}
	}

	cout &lt;&lt; &quot;Distanzen berechnet&quot; &lt;&lt; endl;

	double* tab3 = new double[num]; //Mittelwerte der Distanzwerte

	double sum2 = 0;

	for(int i = 0; i &lt; num; ++i)
	{
		sum = 0;
		for(int j = 0; j &lt; num; ++j)
		{
			if(i == j)
				sum += 0;
			else
			if(i &lt; j)
				sum += tab2[i][j];
			else
				sum += tab2[j][i];
		}
		tab3[i] = sum / (num -1);
		sum2 += tab3[i];
		//cout &lt;&lt; endl &lt;&lt; i &lt;&lt; &quot; &quot; &lt;&lt; tab3[i] &lt;&lt; endl;
		//cin.sync();
		//cin.get();
	}

	double median = sum2 / num;

	cout &lt;&lt; &quot;Mittelwerte gebildet&quot; &lt;&lt; endl;

	//cout &lt;&lt; median;
	int a = 0;

	ofstream outFile(&quot;auf2.txt&quot;, ios::app);

	if(!outFile)
	{
		cerr &lt;&lt; &quot;Fehler beim Öffenen zum Schreiben&quot; &lt;&lt; endl;
		cin.get();
		return 2;
	}

	for(int i = 0; i &lt; num; ++i)
	{
		if(abs(tab3[i] - median) &gt; 8)
		{
			++a;
			cout &lt;&lt; i &lt;&lt; endl;
		}
		else
		{
			for(int j = 0; j &lt; att; ++j)
			{
				//if(tab[i][j] &lt; -100)
					//cout &lt;&lt; i &lt;&lt; &quot; &quot; &lt;&lt; j &lt;&lt; endl;
				if(tab[i][j] == -42)
					outFile &lt;&lt; &quot;?&quot;;
				else
				if(j == (att - 1) &amp;&amp; tab[i][j] == 0)
					outFile &lt;&lt; &quot;no&quot;;
				else
				if(j == (att - 1) &amp;&amp; tab[i][j] == 1)
					outFile &lt;&lt; &quot;yes&quot;;
				else
					outFile &lt;&lt; tab[i][j];

				outFile &lt;&lt; &quot;,&quot;;
			}
			outFile &lt;&lt; endl;
		}
	}

	cout &lt;&lt; endl &lt;&lt; a;  //265

	cin.sync();
	cin.get();
	return 0;
}
</code></pre>
<p>Warum werden die ? als 0 interpretiert?<br />
Ist es wegen der Vergleiche mit c-strings oder kann generell ein ? nicht eingelesen werden, weil es ein Sonderzeichen ist</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172577</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172577</guid><dc:creator><![CDATA[uerderli]]></dc:creator><pubDate>Wed, 25 Jan 2012 21:06:33 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 21:08:33 GMT]]></title><description><![CDATA[<p>Dankeschön, das lesen wir natürlich alles sofort.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172580</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 25 Jan 2012 21:08:33 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 21:08:34 GMT]]></title><description><![CDATA[<p>gibt es die Funktion strtok auch für C++-Strings?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172581</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172581</guid><dc:creator><![CDATA[uerderli]]></dc:creator><pubDate>Wed, 25 Jan 2012 21:08:34 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 21:10:18 GMT]]></title><description><![CDATA[<p>uerderli schrieb:</p>
<blockquote>
<p>gibt es die Funktion strtok auch für C++-Strings?</p>
</blockquote>
<p>boost::algorithm::split oder ähnliches...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172583</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172583</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 25 Jan 2012 21:10:18 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 21:19:25 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Dankeschön, das lesen wir natürlich alles sofort.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> wirklich!? <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/2172589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172589</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 25 Jan 2012 21:19:25 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 21:21:19 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>Hacker schrieb:</p>
<blockquote>
<p>Dankeschön, das lesen wir natürlich alles sofort.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> wirklich!? <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>Nein! <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="😃"
    /> <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/2172594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172594</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 25 Jan 2012 21:21:19 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 21:23:37 GMT]]></title><description><![CDATA[<p>danke für eure Hilfe mit den String-Vergleichen.</p>
<p>Aber nochmal zu dem ?.<br />
Trotz korrekter Vergleiche, die das ? immernoch als 0 gelesen.</p>
<p>Weißt ihr warum?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172595</guid><dc:creator><![CDATA[uerderli]]></dc:creator><pubDate>Wed, 25 Jan 2012 21:23:37 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 21:25:29 GMT]]></title><description><![CDATA[<p>Hacker schrieb:</p>
<blockquote>
<p>Swordfish schrieb:</p>
<blockquote>
<p>Hacker schrieb:</p>
<blockquote>
<p>Dankeschön, das lesen wir natürlich alles sofort.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> wirklich!? <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>Nein! <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="😃"
    /> <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>Aha. Das heißt also, ich sollte mein Codebeispiel, in dem das Problem auftritt, so kurz wie möglich halten, damit ich nicht unnötig mehr Zeit der evtl. hilfsbereiten Leser stehle, als nötig? <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>uerderli schrieb:</p>
<blockquote>
<p>Trotz korrekter Vergleiche, die das ? immernoch als 0 gelesen.</p>
<p>Weißt ihr warum?</p>
</blockquote>
<p>Nein, wir weissen es nicht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172596</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172596</guid><dc:creator><![CDATA[Swordfish]]></dc:creator><pubDate>Wed, 25 Jan 2012 21:25:29 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 21:28:37 GMT]]></title><description><![CDATA[<p>uerderli schrieb:</p>
<blockquote>
<p>danke für eure Hilfe mit den String-Vergleichen.</p>
<p>Aber nochmal zu dem ?.<br />
Trotz korrekter Vergleiche, die das ? immernoch als 0 gelesen.</p>
<p>Weißt ihr warum?</p>
</blockquote>
<p>oh Gott, tschuldigung für meine Rechtschreibung <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172602</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172602</guid><dc:creator><![CDATA[uerderli]]></dc:creator><pubDate>Wed, 25 Jan 2012 21:28:37 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 21:37:31 GMT]]></title><description><![CDATA[<p>Swordfish schrieb:</p>
<blockquote>
<p>Hacker schrieb:</p>
<blockquote>
<p>Swordfish schrieb:</p>
<blockquote>
<p>Hacker schrieb:</p>
<blockquote>
<p>Dankeschön, das lesen wir natürlich alles sofort.</p>
</blockquote>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /> wirklich!? <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>Nein! <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="😃"
    /> <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>Aha. Das heißt also, ich sollte mein Codebeispiel, in dem das Problem auftritt, so kurz wie möglich halten, damit ich nicht unnötig mehr Zeit der evtl. hilfsbereiten Leser stehle, als nötig? <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. <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/2172611</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172611</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 25 Jan 2012 21:37:31 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 21:49:59 GMT]]></title><description><![CDATA[<p>uerderli schrieb:</p>
<blockquote>
<p>Mit<br />
token = strtok(zeile, separator);<br />
trenne ich dabei die Werte.</p>
</blockquote>
<p>Das ist keine gute Idee. Lese doch lieber gleich die Zahlen aus der Datei ein und überlese die Kommas dazwischen. Falls Du Beispiele suchst, suche hier im Forum nach 'csv istream' oder in Google nach 'csv Datei lesen istream'.</p>
<p>Das Einlesen des '?' statt einer Zahl, kann man mit einem sogenannten <a href="http://www.cplusplus.com/reference/iostream/manipulators/" rel="nofollow">Manipulator</a> lösen.<br />
Hier eine Code-Skizze:</p>
<pre><code class="language-cpp">#include &lt;fstream&gt;
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;vector&gt;

template&lt; char C &gt;
std::istream&amp; Char( std::istream&amp; in )
{
    char c;
    if( in &gt;&gt; c &amp;&amp; c != C )
        in.setstate( std::ios_base::failbit );
    return in;
}

// --   Manipulator, zum Einlesen von Zahlen und einem '?'
//      wird ein '?' erkannt, so erhält die Zahl den Wert '-42.'
struct query
{
    explicit query( double&amp; nr ) : m_number( nr ) {}
    friend std::istream&amp; operator&gt;&gt;( std::istream&amp; in, query q )
    {
        typedef std::istream::traits_type Traits;
        if( in &gt;&gt; std::ws &amp;&amp; !in.eof() )
        {
            if( Traits::to_char_type( in.peek() ) == '?' )
            {
                in.ignore(1); // '?' überlesen
                q.m_number = -42.;
            }
            else
                in &gt;&gt; q.m_number;
        }
        return in;
    }
private:
    double&amp; m_number;
};

int main()
{
    using namespace std;
    ifstream datei(&quot;datei.txt&quot;);
    if(!datei)
    {
        cerr &lt;&lt; &quot;Fehler beim Öffnen&quot;;
        cin.get();
        return 2;
    }
    for( int zeile = 1; datei; ++zeile )
    {
        cout &lt;&lt; zeile &lt;&lt; &quot;.Zeile: &quot;;
        double zahl;
        for( int i=0; i&lt;26 &amp;&amp; datei &gt;&gt; query( zahl ) &gt;&gt; Char&lt;','&gt;; ++i )
        {
            cout &lt;&lt; zahl &lt;&lt; &quot;|&quot;;
        }
        string yes_no;
        if( datei &gt;&gt; yes_no )
            cout &lt;&lt; yes_no;
        cout &lt;&lt; endl;
    }
    cin.get();
    return 0;
}
</code></pre>
<p>Gruß<br />
Werner</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172619</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172619</guid><dc:creator><![CDATA[Werner Salomon]]></dc:creator><pubDate>Wed, 25 Jan 2012 21:49:59 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;?&amp;quot; aus Datei einlesen on Wed, 25 Jan 2012 22:34:40 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/7393">@Werner</a><br />
vielen Dank!</p>
<p>so funktioniert es perfekt!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2172634</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2172634</guid><dc:creator><![CDATA[uerderli]]></dc:creator><pubDate>Wed, 25 Jan 2012 22:34:40 GMT</pubDate></item></channel></rss>