<?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[while-Schleife terminiert nicht.]]></title><description><![CDATA[<p>Hallo.<br />
Ich verzweifle gerade an einem wahrscheinlich recht einfachen Programm. Eine Zeichenkette soll durchlaufen werden und ein Teil davon (genauer gesagt das erste Wort)<br />
in einen anderen String kopiert werden.<br />
Allerdings wird die while-Schleife nicht beendet, obwohl ich sie mit mehreren,<br />
teilweise sogar überflüssigen Kontrollwerten versehen habe. Ich habe mit hilfe<br />
des Debuggers Schritt für Schritt die Schleife durchgesehen und sie stoppt nicht,<br />
sondern läuft weiter, was natürlich zu einem überlauf der C-Strings führt.<br />
Hier der gekürzte Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string.h&gt;
#include &lt;conio.h&gt;

#define MAX_COMMAND_LENGTH	50

using namespace std;

char szCurrentCommand[MAX_COMMAND_LENGTH];

void EvaluateCommand(char* pszText);

int main()
{
	EvaluateCommand(&quot;Test&quot;);
	cout &lt;&lt; szCurrentCommand &lt;&lt; '\n';
	_getch();
	return 0;
}

void EvaluateCommand(char* pszText)
{
	int iIndex		 = 0;
	int iIterator	  = 0;
	char szTemp		= 'a';
	char szCommand[MAX_COMMAND_LENGTH];

	//Iterate from the first letter to the last one and save those letters to a buffer
	while((szTemp != '\n')||(szTemp != ' ')||(szTemp != '\0')||(iIterator &lt;	MAX_COMMAND_LENGTH)||(iIndex &lt; strlen(pszText)))
	{
		szTemp = pszText[iIndex];
		szCommand[iIterator] = pszText[iIndex];
		iIterator++;
		iIndex++;
	}

	szCommand[iIterator] = '\0';	//Zero-Terminate the Command-String

	strncpy(szCurrentCommand, szCommand, sizeof(szCommand));
}
</code></pre>
<p>Ich bin mir eigentlich fast sicher, dass ich wieder einmal etwas nicht<br />
korrekt angewendet oder verstanden habe. Allerdings komme ich einfach nicht<br />
auf die Lösung und hoffe ihr könnt mir helfen.</p>
<p>Gruß Honky</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/306503/while-schleife-terminiert-nicht</link><generator>RSS for Node</generator><lastBuildDate>Fri, 07 Aug 2026 16:40:18 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/306503.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 30 Jul 2012 18:47:28 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 18:47:28 GMT]]></title><description><![CDATA[<p>Hallo.<br />
Ich verzweifle gerade an einem wahrscheinlich recht einfachen Programm. Eine Zeichenkette soll durchlaufen werden und ein Teil davon (genauer gesagt das erste Wort)<br />
in einen anderen String kopiert werden.<br />
Allerdings wird die while-Schleife nicht beendet, obwohl ich sie mit mehreren,<br />
teilweise sogar überflüssigen Kontrollwerten versehen habe. Ich habe mit hilfe<br />
des Debuggers Schritt für Schritt die Schleife durchgesehen und sie stoppt nicht,<br />
sondern läuft weiter, was natürlich zu einem überlauf der C-Strings führt.<br />
Hier der gekürzte Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string.h&gt;
#include &lt;conio.h&gt;

#define MAX_COMMAND_LENGTH	50

using namespace std;

char szCurrentCommand[MAX_COMMAND_LENGTH];

void EvaluateCommand(char* pszText);

int main()
{
	EvaluateCommand(&quot;Test&quot;);
	cout &lt;&lt; szCurrentCommand &lt;&lt; '\n';
	_getch();
	return 0;
}

void EvaluateCommand(char* pszText)
{
	int iIndex		 = 0;
	int iIterator	  = 0;
	char szTemp		= 'a';
	char szCommand[MAX_COMMAND_LENGTH];

	//Iterate from the first letter to the last one and save those letters to a buffer
	while((szTemp != '\n')||(szTemp != ' ')||(szTemp != '\0')||(iIterator &lt;	MAX_COMMAND_LENGTH)||(iIndex &lt; strlen(pszText)))
	{
		szTemp = pszText[iIndex];
		szCommand[iIterator] = pszText[iIndex];
		iIterator++;
		iIndex++;
	}

	szCommand[iIterator] = '\0';	//Zero-Terminate the Command-String

	strncpy(szCurrentCommand, szCommand, sizeof(szCommand));
}
</code></pre>
<p>Ich bin mir eigentlich fast sicher, dass ich wieder einmal etwas nicht<br />
korrekt angewendet oder verstanden habe. Allerdings komme ich einfach nicht<br />
auf die Lösung und hoffe ihr könnt mir helfen.</p>
<p>Gruß Honky</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237046</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237046</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Mon, 30 Jul 2012 18:47:28 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 19:05:49 GMT]]></title><description><![CDATA[<p>Für deine C-Version ist der Fehler, dass es bei der while-Abfrage &amp;&amp; anstatt || sein muss.</p>
<p>Für C++:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

string EvaluateCommand(const string &amp;str)
{
	return str.substr(0, str.find(' '));
}

int main()
{
    cout &lt;&lt; EvaluateCommand(&quot;Test&quot;) &lt;&lt; '\n';
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2237051</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237051</guid><dc:creator><![CDATA[Wurstinator]]></dc:creator><pubDate>Mon, 30 Jul 2012 19:05:49 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 19:03:26 GMT]]></title><description><![CDATA[<p>Der erste Fehler, der mir auffaellt und der auch der groesste ist, dass du kein C++ sondern C mit cout programmiert hast.<br />
Warum dieses besch...eidene C-Stringgewusel, wenn dir std::string die Arbeit abinimmt?<br />
In welchem Buch hast du das gelernt?</p>
<p>Was mir grad noch beim ueberfliegen stilistisch aufgefallen ist: Ungarische Notation ist allgemein verpoehnt, aber wenn man sie schon verwendet, dann richtig (sz steht fuer <strong>z</strong>eroterminated <strong>s</strong>tring, du benutzt es aber fuer ein einzelnes Char).</p>
<p>Entscheide dich bitte: Willst du C oder C++ programmieren. Dann kann man dir auch besser helfen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237052</guid><dc:creator><![CDATA[Jonas OSDever]]></dc:creator><pubDate>Mon, 30 Jul 2012 19:03:26 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 19:06:09 GMT]]></title><description><![CDATA[<p>Ich weiß nicht. Mir gefallen C-Strings. Und die WinApi arbeitet ja auch konstant<br />
mit C-Strings. Oder nicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237053</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237053</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Mon, 30 Jul 2012 19:06:09 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 19:43:44 GMT]]></title><description><![CDATA[<p>Wurstinator schrieb:</p>
<blockquote>
<pre><code class="language-cpp">string EvaluateCommand(const string &amp;str)
{
	return str.substr(0, str.find(' '));
}
</code></pre>
</blockquote>
<p>Ich hätte jetzt eher an das gedacht:</p>
<pre><code class="language-cpp">string str = &quot;Test&quot;;
string copy;
istringstream(str) &gt;&gt; copy; // Schön, dass es in C++11 mit einem Temporary funktioniert. :-)
</code></pre>
<p>Aber was nun wirklich die effizienteste Methode ist, das erste Wort einer Zeichenkette zu extrahieren, keine Ahnung?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237055</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237055</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Mon, 30 Jul 2012 19:43:44 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 19:10:56 GMT]]></title><description><![CDATA[<p>Honky schrieb:</p>
<blockquote>
<p>Ich weiß nicht. Mir gefallen C-Strings.</p>
</blockquote>
<p>Das ist keine Frage des Geschmacks, sondern eine Frage der SPrache, die du benutzen möchtest. Ich behaupte auch mal, du kennst weder std::string noch C-Strings so richtig gut, wenn dir C-Strings gefallen <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>Und die WinApi arbeitet ja auch konstant<br />
mit C-Strings. Oder nicht?</p>
</blockquote>
<p>Ja, aber es ist ja nicht so, dass man in C++ am rohen Winapi-Interface rumfummeln würde und selbst wenn, kann man zur Not auch mit std::string aus C++ einen C-String erzeugen.</p>
<p>Aber nochmal: Die Frage ist, welche Sprache du lernen möchtest, C oder C++. Im Moment lernst du (wahrscheinlich aus einer sehr schlechten Quelle) irgendwie beides so halb. Das wird nicht lange gut gehen. Du bist gerade an dem Punkt, an dem es das erste Mal krachen wird, danach wird's nur schlimmer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237056</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237056</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 30 Jul 2012 19:10:56 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 20:18:13 GMT]]></title><description><![CDATA[<p>Natürlich möchte ich C++ 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=";D"
      alt="😉"
    /> Und ich kenne mich auch ein wenig mit std::strings aus. Aber in vielen C++-Büchern werden ja auch C-Strings benutzt.<br />
Es ist klar das std::strings große Vorzüge aufweisen. Aber wenn dies stilistisch<br />
ein solch großes Verbrechen ist, dann werde ich mich in Zukunft an euren Rat halten<br />
und C++-Strings statt C-Strings verwenden. <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/2237074</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237074</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Mon, 30 Jul 2012 20:18:13 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 20:29:29 GMT]]></title><description><![CDATA[<p>Honky schrieb:</p>
<blockquote>
<p>Aber in vielen C++-Büchern werden ja auch C-Strings benutzt.</p>
</blockquote>
<p>Ich äußere mal Zweifel an der Qualität deiner Literatur. Dirk Louis? Jürgen Wolf? Galileo-Verlag?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237078</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237078</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 30 Jul 2012 20:29:29 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 20:31:46 GMT]]></title><description><![CDATA[<p>Galileo Verlag <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237082</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237082</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Mon, 30 Jul 2012 20:31:46 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 20:59:54 GMT]]></title><description><![CDATA[<p>Warum verwendest du ein #define als Konstante statt</p>
<pre><code class="language-cpp">const
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2237104</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237104</guid><dc:creator><![CDATA[IrgendeinName]]></dc:creator><pubDate>Mon, 30 Jul 2012 20:59:54 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 21:10:39 GMT]]></title><description><![CDATA[<p>IrgendeinName schrieb:</p>
<blockquote>
<p>Warum verwendest du ein #define als Konstante statt</p>
<pre><code class="language-cpp">const
</code></pre>
</blockquote>
<p>Hat er schon erklärt:</p>
<p>Honky schrieb:</p>
<blockquote>
<p>Galileo Verlag <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
</blockquote>
]]></description><link>https://www.c-plusplus.net/forum/post/2237109</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237109</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Mon, 30 Jul 2012 21:10:39 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 21:11:46 GMT]]></title><description><![CDATA[<p>Das hab ich im Eifer des Gefechts einfach schnell als #define gemacht. Ich ändere<br />
es aber in meinem Programm noch ab.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237110</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237110</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Mon, 30 Jul 2012 21:11:46 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 21:32:57 GMT]]></title><description><![CDATA[<p>SeppJ schrieb:</p>
<blockquote>
<p>IrgendeinName schrieb:</p>
<blockquote>
<p>Warum verwendest du ein #define als Konstante statt</p>
<pre><code class="language-cpp">const
</code></pre>
</blockquote>
<p>Hat er schon erklärt:</p>
<p>Honky schrieb:</p>
<blockquote>
<p>Galileo Verlag <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--disappointed_face"
      title=":("
      alt="😞"
    /></p>
</blockquote>
</blockquote>
<p>LOL <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="😃"
    /><br />
Ja ok, ich habs verstanden. Ich werde mir einen besseren Stil aneignen. <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/2237117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237117</guid><dc:creator><![CDATA[Honky]]></dc:creator><pubDate>Mon, 30 Jul 2012 21:32:57 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Mon, 30 Jul 2012 22:06:12 GMT]]></title><description><![CDATA[<p>Juergen unser alter Schlawiner schreibt nicht explizit, dass Makros boese sind. Er zeigt nur Unterschiede zwischen Konstanten und (Skalar-Literal) Makros.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237138</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237138</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Mon, 30 Jul 2012 22:06:12 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Tue, 31 Jul 2012 10:20:10 GMT]]></title><description><![CDATA[<p>Honky schrieb:</p>
<blockquote>
<p>Ich werde mir einen besseren Stil aneignen. <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>Eigne Dir lieber ein gutes Buch an. In Sepps Signatur gibt es einen Link mit Buchempfehlungen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237241</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237241</guid><dc:creator><![CDATA[Tachyon]]></dc:creator><pubDate>Tue, 31 Jul 2012 10:20:10 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Tue, 31 Jul 2012 11:34:51 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>(Skalar-Literal) Makros.</p>
</blockquote>
<p>Woher nimmst du nur die Wörter. <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/2237263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237263</guid><dc:creator><![CDATA[out]]></dc:creator><pubDate>Tue, 31 Jul 2012 11:34:51 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Tue, 31 Jul 2012 14:27:38 GMT]]></title><description><![CDATA[<p>Für das Separieren eines durch Whitespaces getrennten Teilstrings aus einem String nimmt man sscanf und einen Einzeiler wie</p>
<pre><code class="language-cpp">if( 1==sscanf(&quot; blafasel\t\n&quot;,&quot;%49s&quot;,chararray50) )
  puts(chararray50);
else
  puts(&quot;EOF oder Lesefehler&quot;);
</code></pre>
<p>Und der Ausgangsstring darf sogar const sein, bzw. implizit const als Stringliteral.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237325</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237325</guid><dc:creator><![CDATA[Wutz]]></dc:creator><pubDate>Tue, 31 Jul 2012 14:27:38 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Tue, 31 Jul 2012 14:37:09 GMT]]></title><description><![CDATA[<p>Wutz schrieb:</p>
<blockquote>
<p>Für das Separieren eines durch Whitespaces getrennten Teilstrings aus einem String nimmt man sscanf und einen Einzeiler wie</p>
<pre><code class="language-cpp">if( 1==sscanf(&quot; blafasel\t\n&quot;,&quot;%49s&quot;,chararray50) )
  puts(chararray50);
else
  puts(&quot;EOF oder Lesefehler&quot;);
</code></pre>
<p>Und der Ausgangsstring darf sogar const sein, bzw. implizit const als Stringliteral.</p>
</blockquote>
<p>tinnef.<br />
ich nehme an, das wort ist vorher nicht bekannt. dann nimmt man funktionen wie find, copy, etc. aus der string-bibliothek.<br />
<a href="http://www.cplusplus.com/reference/string/string/" rel="nofollow">http://www.cplusplus.com/reference/string/string/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237329</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237329</guid><dc:creator><![CDATA[no. no.]]></dc:creator><pubDate>Tue, 31 Jul 2012 14:37:09 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Tue, 31 Jul 2012 14:50:48 GMT]]></title><description><![CDATA[<p>Oder direkt boost::split</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237331</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237331</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Tue, 31 Jul 2012 14:50:48 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Tue, 31 Jul 2012 14:55:56 GMT]]></title><description><![CDATA[<p>Wutz schrieb:</p>
<blockquote>
<p>Für das Separieren eines durch Whitespaces getrennten Teilstrings aus einem String nimmt man sscanf und einen Einzeiler wie</p>
<pre><code class="language-cpp">if( 1==sscanf(&quot; blafasel\t\n&quot;,&quot;%49s&quot;,chararray50) )
  puts(chararray50);
else
  puts(&quot;EOF oder Lesefehler&quot;);
</code></pre>
<p>Und der Ausgangsstring darf sogar const sein, bzw. implizit const als Stringliteral.</p>
</blockquote>
<p>Sind wir im C-Forum? Geh bloss weg mit diesem Dreck... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
<pre><code class="language-cpp">std::string hw = &quot;Hallo Welt!&quot;,
            erstesWort;

std::istringstream(hw) &gt;&gt; erstesWort;
</code></pre>
<p>Oder dein Beispiel (wenn ich es verstanden habe):</p>
<pre><code class="language-cpp">std::string hw = &quot; blafasel\t\n&quot;,
            erstesWort;

std::istringstream(hw) &gt;&gt; std::ws &gt;&gt; erstesWort;
</code></pre>
<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/22559">@Eisflamme</a>: Obiges ist einfacher und braucht kein boost :p</p>
<p>Sorry fuer die ganzen edits.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237332</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237332</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Tue, 31 Jul 2012 14:55:56 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Tue, 31 Jul 2012 14:59:31 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Sind wir im C-Forum? Geh bloss weg mit diesem Dreck... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
</blockquote>
<p>armes deutschland ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237335</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237335</guid><dc:creator><![CDATA[b.b.]]></dc:creator><pubDate>Tue, 31 Jul 2012 14:59:31 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Tue, 31 Jul 2012 15:06:23 GMT]]></title><description><![CDATA[<p>b.b. schrieb:</p>
<blockquote>
<p>Sone schrieb:</p>
<blockquote>
<p>Sind wir im C-Forum? Geh bloss weg mit diesem Dreck... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
</blockquote>
<p>armes deutschland ... <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_down"
      title=":-1:"
      alt="👎"
    /></p>
</blockquote>
<p>Nicht annaehrend so arm wie dein Post an Argumentation und Sinn.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237340</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237340</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Tue, 31 Jul 2012 15:06:23 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Tue, 31 Jul 2012 15:10:46 GMT]]></title><description><![CDATA[<p>Für ein Element ist das sicher am Besten so. <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="🙂"
    /> Für mehrere packt split das aber alles schon brav in einen vector. Gut, ein kleines while und push_back darauf hin geht wohl auch.</p>
<p>Diese Variante von Dir geht aber erst mit C++11 so kurz, richtig?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237343</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237343</guid><dc:creator><![CDATA[Eisflamme]]></dc:creator><pubDate>Tue, 31 Jul 2012 15:10:46 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Tue, 31 Jul 2012 15:19:33 GMT]]></title><description><![CDATA[<p>Eisflamme schrieb:</p>
<blockquote>
<p>Für ein Element ist das sicher am Besten so. <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="🙂"
    /> Für mehrere packt split das aber alles schon brav in einen vector. Gut, ein kleines while und push_back darauf hin geht wohl auch.</p>
</blockquote>
<p>O ja:</p>
<pre><code class="language-cpp">std::vector&lt;std::string&gt; strings;
    std::istringstream stream(&quot; das ist die geschischte\t von\nbla&quot;);

    while( stream )
    {
        strings.push_back( std::string() );
        stream &gt;&gt; std::ws &gt;&gt; strings.back();
    }
</code></pre>
<blockquote>
<p>Diese Variante von Dir geht aber erst mit C++11 so kurz, richtig?</p>
</blockquote>
<p>Nope. <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>
]]></description><link>https://www.c-plusplus.net/forum/post/2237347</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237347</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Tue, 31 Jul 2012 15:19:33 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Tue, 31 Jul 2012 15:57:43 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Eisflamme schrieb:</p>
<blockquote>
<p>Diese Variante von Dir geht aber erst mit C++11 so kurz, richtig?</p>
</blockquote>
<p>Nope. <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>
</blockquote>
<p>Doch. Er meinte:</p>
<pre><code class="language-cpp">std::string hw = &quot;Hallo Welt!&quot;,
erstesWort;
std::istringstream(hw) &gt;&gt; erstesWort; // Error: no match for 'operator&gt;&gt;' in 'std::basic_istringstream&lt;char&gt;((*(const __string_type*)(&amp; hw)), (std::_Ios_Openmode)8u) &gt;&gt; erstesWort
</code></pre>
<p>Und das hatte ich bereits ganz oben geschrieben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237367</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237367</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 31 Jul 2012 15:57:43 GMT</pubDate></item><item><title><![CDATA[Reply to while-Schleife terminiert nicht. on Tue, 31 Jul 2012 16:02:00 GMT]]></title><description><![CDATA[<p>[latex]</p>
<p>Gugelmoser schrieb:</p>
<blockquote>
<p>Sone schrieb:</p>
<blockquote>
<p>Eisflamme schrieb:</p>
<blockquote>
<p>Diese Variante von Dir geht aber erst mit C++11 so kurz, richtig?</p>
</blockquote>
<p>Nope. <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>
</blockquote>
<p>Doch. Er meinte:</p>
<pre><code class="language-cpp">std::string hw = &quot;Hallo Welt!&quot;,
erstesWort;
std::istringstream(hw) &gt;&gt; erstesWort; // Error: no match for 'operator&gt;&gt;' in 'std::basic_istringstream&lt;char&gt;((*(const __string_type*)(&amp; hw)), (std::_Ios_Openmode)8u) &gt;&gt; erstesWort
</code></pre>
<p>Und das hatte ich bereits ganz oben geschrieben.</p>
</blockquote>
<p>Ah shit, jetzt sehe ich es auch. Klar, hast Recht.<br />
Dachte, ging schon immer mit rtemporaeren Objekten.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2237370</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2237370</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Tue, 31 Jul 2012 16:02:00 GMT</pubDate></item></channel></rss>