<?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[Gültigkeit von cin.ignore() -GELÖST-]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main () {
  char first,last;
  cout &lt;&lt; &quot;Enter your first and last names: &quot;;
  first=cin.get();
  cin.ignore(256,' ');
  last=cin.get();

  cout &lt;&lt; &quot;Your initials are &quot; &lt;&lt; first &lt;&lt; last;

  return 0;
}
</code></pre>
<p>Die Funktion</p>
<pre><code class="language-cpp">cin.ignore(256,' ')
</code></pre>
<p>ignoriert 256 Zeichen bis zur Eingabe eines Leerzeichens. Die Funktion wird seltsamerweise auch auf die Variabe &quot;last&quot; angewendet.</p>
<p>Wenn man allerdings den Parameter &quot;256&quot; auf z.B. &quot;3&quot; abändert, müßte die Funktion bei der Eingabe von z.B. &quot;Arne Müller&quot; bei &quot;Müller&quot; nur 3 Zeichen ignorieren, es werden aber alle nach dem &quot;M&quot; ausgeblendet.<br />
Weiß jemand, woran das liegt?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/292358/gültigkeit-von-cin-ignore-gelöst</link><generator>RSS for Node</generator><lastBuildDate>Mon, 17 Aug 2026 01:09:40 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/292358.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Sep 2011 08:59:59 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 17:43:42 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main () {
  char first,last;
  cout &lt;&lt; &quot;Enter your first and last names: &quot;;
  first=cin.get();
  cin.ignore(256,' ');
  last=cin.get();

  cout &lt;&lt; &quot;Your initials are &quot; &lt;&lt; first &lt;&lt; last;

  return 0;
}
</code></pre>
<p>Die Funktion</p>
<pre><code class="language-cpp">cin.ignore(256,' ')
</code></pre>
<p>ignoriert 256 Zeichen bis zur Eingabe eines Leerzeichens. Die Funktion wird seltsamerweise auch auf die Variabe &quot;last&quot; angewendet.</p>
<p>Wenn man allerdings den Parameter &quot;256&quot; auf z.B. &quot;3&quot; abändert, müßte die Funktion bei der Eingabe von z.B. &quot;Arne Müller&quot; bei &quot;Müller&quot; nur 3 Zeichen ignorieren, es werden aber alle nach dem &quot;M&quot; ausgeblendet.<br />
Weiß jemand, woran das liegt?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116506</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116506</guid><dc:creator><![CDATA[redrew99]]></dc:creator><pubDate>Thu, 08 Sep 2011 17:43:42 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 09:36:05 GMT]]></title><description><![CDATA[<blockquote>
<p>Die Funktion</p>
<pre><code class="language-cpp">cin.ignore(256,' ')
</code></pre>
<p>ignoriert 256 Zeichen bis zur Eingabe eines Leerzeichens. Die Funktion wird seltsamerweise auch auf die Variabe &quot;last&quot; angewendet.</p>
</blockquote>
<p>Häh?</p>
<p>Beschreib mal Eingabe, Ausgabe und was du stattdessen erwartest.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116536</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116536</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 08 Sep 2011 09:36:05 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 09:53:25 GMT]]></title><description><![CDATA[<p>was denkst du, wie viel du in</p>
<pre><code class="language-cpp">char first, last;
</code></pre>
<p>speichern kannst?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116554</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116554</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Thu, 08 Sep 2011 09:53:25 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 10:05:09 GMT]]></title><description><![CDATA[<p>[Rewind] schrieb:</p>
<blockquote>
<p>was denkst du, wie viel du in</p>
<pre><code class="language-cpp">char first, last;
</code></pre>
<p>speichern kannst?</p>
</blockquote>
<p>Du meinst er hat den Code einfach nur aus dem Internet zusammen kopiert und weiß noch nicht einmal, was Initialen sind? Aber das würde doch niemals jemand tun! :p</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116564</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116564</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 08 Sep 2011 10:05:09 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 10:26:00 GMT]]></title><description><![CDATA[<p>Wenn die Funktion</p>
<pre><code class="language-cpp">cin.ignore(3,' ');
</code></pre>
<p>lautet, würde ich bei einer Variable erwarten, daß bei der Eingabe von &quot;Martin&quot; als Ergebnis &quot;Min&quot; ausgegeben wird. (a-t werden ignoriert)</p>
<p>Bzw. bei Eingabe von &quot;Martin Muster&quot; bei 2 Variablen würde ich die Ausgabe &quot;MinMer&quot; erwarten.<br />
Es wird aber &quot;Mi&quot; ausgegeben.</p>
<p>Den Code habe ich übrigens von</p>
<p><a href="http://www.cplusplus.com/reference/iostream/istream/ignore/" rel="nofollow">http://www.cplusplus.com/reference/iostream/istream/ignore/</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116582</guid><dc:creator><![CDATA[redrew99]]></dc:creator><pubDate>Thu, 08 Sep 2011 10:26:00 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 10:29:50 GMT]]></title><description><![CDATA[<p>[Rewind] schrieb:</p>
<blockquote>
<p>was denkst du, wie viel du in</p>
<pre><code class="language-cpp">char first, last;
</code></pre>
<p>speichern kannst?</p>
</blockquote>
<p>1 Zeichen normalerweise. (also pro Variable natürlich)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116585</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116585</guid><dc:creator><![CDATA[redrew99]]></dc:creator><pubDate>Thu, 08 Sep 2011 10:29:50 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 10:38:20 GMT]]></title><description><![CDATA[<p>redrew99 schrieb:</p>
<blockquote>
<p>daß bei der Eingabe von &quot;Martin&quot; [...] (a-t werden ignoriert)</p>
<p>[...]</p>
<p>1 Zeichen normalerweise. (also pro Variable natürlich)</p>
<p>[...]</p>
<p>Es wird aber &quot;Mi&quot; ausgegeben.</p>
</blockquote>
<p>Jetzt zähl mal 1 und 1 zusammen.</p>
<p>Und übe dich in genauer Sprechweise. Bei 70% der Sachen die du sagst habe ich keine Ahnung was du meinst. Insbesondere deine Benutzung des Wortes &quot;Variable&quot;. Ich befürchte du meinst großen Unsinn, aber eventuell drückst du dich auch nur arg ungeschickt aus.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116589</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116589</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 08 Sep 2011 10:38:20 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 10:47:00 GMT]]></title><description><![CDATA[<p>Glaube, ich habe es jetzt verstanden.</p>
<p>Der Fehler lag in der Annahme,daß die Funktion</p>
<pre><code class="language-cpp">cin.ignore(256,' ')
</code></pre>
<p>neu ausgeführt wird, sobald ein Leerzeichen eingegeben wurde.</p>
<p>Das stimmt aber halt nur bedingt, nämlich bis zu der Anzahl von 256 eingegebenen Zeichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116593</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116593</guid><dc:creator><![CDATA[redrew99]]></dc:creator><pubDate>Thu, 08 Sep 2011 10:47:00 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 10:49:36 GMT]]></title><description><![CDATA[<p>redrew99 schrieb:</p>
<blockquote>
<p>Bzw. bei Eingabe von &quot;Martin Muster&quot; bei 2 Variablen würde ich die Ausgabe <strong>&quot;MinMer&quot;</strong> erwarten.</p>
</blockquote>
<p>redrew99 schrieb:</p>
<blockquote>
<p>[Rewind] schrieb:</p>
<blockquote>
<p>was denkst du, wie viel du in</p>
<pre><code class="language-cpp">char first, last;
</code></pre>
<p>speichern kannst?</p>
</blockquote>
<p><strong>1 Zeichen</strong> normalerweise. (also pro Variable natürlich)</p>
</blockquote>
<p>...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116594</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116594</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Thu, 08 Sep 2011 10:49:36 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 11:09:04 GMT]]></title><description><![CDATA[<p>Jupp, das widerspricht sich, was mir auch bewußt war, ich hatte aber keine Erklärung dafür, deswegen mein Post.</p>
<p>Wenn man noch dritte Variable hinzufügen würde, müßte das dann vermutlich so aussehen:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main () {
  char first, last, second;

  cout &lt;&lt; &quot;Enter your first and last names: &quot;;

  first=cin.get();
  cin.ignore(256, ' ');
  last=cin.get();
  cin.ignore(256, ' ');
  second=cin.get();

  cout &lt;&lt; &quot;Your initials are &quot; &lt;&lt; first &lt;&lt; last&lt;&lt;second;
  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2116595</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116595</guid><dc:creator><![CDATA[redrew99]]></dc:creator><pubDate>Thu, 08 Sep 2011 11:09:04 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 10:58:21 GMT]]></title><description><![CDATA[<p>Du solltest dir noch einmal genauer durchlesen, was ignore macht. Insbesondere da dies ja auch das ist, was du ohnehin lernen wolltest. Ich bin mir recht sicher, du hast noch nicht verstanden, was es macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116597</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 08 Sep 2011 10:58:21 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 11:10:36 GMT]]></title><description><![CDATA[<p>Mach ich gerne.<br />
Hatte auch schon im Internet gesucht, aber nichts detailliertes dazu gefunden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116601</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116601</guid><dc:creator><![CDATA[redrew99]]></dc:creator><pubDate>Thu, 08 Sep 2011 11:10:36 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 12:09:02 GMT]]></title><description><![CDATA[<p>Dein<br />
first = cin.get();<br />
entfernt nur ein einziges Zeichen aus dem Eingabestrom und weist es first zu.<br />
Wenn Du also 'Martin Müller' eingegeben hast, dann steht nach der Instruktion in first ein 'M' und im Eingabestrom cin 'artin Müller'.<br />
Wenn Du nun via ignore nur drei Zeichen aus dem Eingabestrom entfernst, dann steht da immer noch 'in Müller' drin.<br />
Dein nächster<br />
last = cin.get();<br />
nimmt nun wiederum ein einziges Zeichen aus diesem Strom und weist es last zu. Deshalb steht nun in first 'M' und in last 'i' und im Eingabestrom noch 'n Müller', was aber in Deinem im Eingangspost gezeigten Programm nicht mehr ausgewertet wird.<br />
Ausgegeben werden am Ende die Werte von first und last, also 'M' und 'i'.</p>
<p>Alles klar?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116632</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116632</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Thu, 08 Sep 2011 12:09:02 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 14:13:54 GMT]]></title><description><![CDATA[<blockquote>
<p>Alles klar?</p>
</blockquote>
<p>Bis auf eine Sache ja. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> :<br />
Wenn man noch eine dritte Variable (z.B.</p>
<pre><code class="language-cpp">char second;
</code></pre>
<p>hinzufügt,bekommt sie über die Funktion</p>
<pre><code class="language-cpp">cin.ignore(256,' ');
</code></pre>
<p>das Zeichen &quot;ü&quot; zugewiesen. (Also Stream: &quot;Martin Müller&quot;)</p>
<p>Dies ist aber auch der Fall wenn der Stream z.B. &quot;Martin Müller Meyer&quot; lautet.<br />
Das verstehe ich nicht, da die Funktion doch weitere Zuweisungen zu einem Char erst wieder nach einem Leerzeichen durchführen soll.</p>
<p>In Konsequenz sieht das für mich so aus, daß die zu erfolgende Zuweisung nach einem Leerzeichen nur einmal funktioniert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116679</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116679</guid><dc:creator><![CDATA[redrew99]]></dc:creator><pubDate>Thu, 08 Sep 2011 14:13:54 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 14:12:34 GMT]]></title><description><![CDATA[<p>Ich glaube du solltest noch einmal ganz von vorne bei Variablen und den einfachen Eingabefunktionen anfangen. Da stimmt was hinten und vorne nicht.</p>
<blockquote>
<p>Wenn man noch eine dritte Variable (z.B.</p>
<p>C/C++ Code:<br />
char second;<br />
C/C++ Code:<br />
char second;<br />
hinzufügt,bekommt sie über die Funktion</p>
<pre><code class="language-cpp">cin.ignore(256, ' ');
</code></pre>
<p>das Zeichen &quot;ü&quot; zugewiesen.</p>
<p>Dies ist auch der Fall wenn der Stream wäre z.B. &quot;Martin Müller Meyer&quot; beinhaltet.<br />
Das verstehe ich nicht, da die Funktion doch weitere Zuweisungen zu einem Char erst wieder nach einem Leerzeichen durchführen soll.</p>
<p>In Konsequenz sieht das für mich so aus, daß die zu erfolgende Zuweisung nach einem Leerzeichen nur einmal funktioniert.</p>
</blockquote>
<p>Ich verstehe die einzelnen Worte, aber zusammen geben sie keinen Sinn. Du musst da etwas ganz grundlegend falsch verstanden haben um solche Sätze über Variablen, Zuweisungen und Streams zu formulieren. Ich kann mich noch nicht einmal in dich hinein versetzen, was du dir vorstellst, um dich dann auf den rechten Weg zu führen. Das ist einfach zu verquer.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116684</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116684</guid><dc:creator><![CDATA[SeppJ]]></dc:creator><pubDate>Thu, 08 Sep 2011 14:12:34 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 14:20:53 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">Ich kann mich noch nicht einmal in dich hinein versetzen, was du dir vorstellst, um dich dann auf den rechten Weg zu führen. Das ist einfach zu verquer.
</code></pre>
<p>Macht nichts, wenn Du willst, dann schließ den Thread.<br />
Ansonsten kann ich gerne nochmal probieren, mein Anliegen verständlicher zu formulieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116694</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116694</guid><dc:creator><![CDATA[redrew99]]></dc:creator><pubDate>Thu, 08 Sep 2011 14:20:53 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 15:24:06 GMT]]></title><description><![CDATA[<p><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="🙂"
    /><br />
Mit</p>
<pre><code class="language-cpp">cin.ignore(256,' ');
</code></pre>
<p>werden entweder 256 oder alle Zeichen bis zum ersten Leerzeichen ignoriert, je nach dem was zuerst auftritt. Schematische Darstellung:</p>
<pre><code>Name:        Hans Müller Schmidt

Stream:     [b]Hans Müller Schmidt[/b]

first = cin.get();
--&gt;         Hans Müller Schmidt
            [e]uarr[/e]
            (wird gespeichert und gelöscht)

Stream:     [b]ans Müller Schmidt[/b]

cin.ignore(256, ' ');
--&gt;         ans Müller Schmidt
            [e]uarr[/e][e]uarr[/e][e]uarr[/e][e]uarr[/e]
            (wird ignoriert)

Stream:     [b]Müller Schmidt[/b]

last = cin.get();
--&gt;         Müller Schmidt
            [e]uarr[/e]
            (wird gespeichert und gelöscht)

Stream:     [b]üller Schmidt[/b]

Ausgabe:    HM
</code></pre>
<p>Von da her ist es völlig egal, wie lang der Stream ist und was am Ende dort übrig bleibt. Ist deine Frage beantwortet?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116762</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116762</guid><dc:creator><![CDATA[*Rewind*]]></dc:creator><pubDate>Thu, 08 Sep 2011 15:24:06 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 15:35:33 GMT]]></title><description><![CDATA[<p>Schritt für Schritt (nochmal):</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main () {
  char first, last;// Definition von first, last. Beide Werte nicht initialisiert. Sollte klar sein, aber man weiß ja nie.

  cout &lt;&lt; &quot;Enter your first and last names: &quot;;

  /** ... der User gibt seinen Namen (bspw. &quot;John Doe&quot;) ein, er wird folglich nach cin geschrieben. Der Stream enthält jetzt &quot;John Doe&quot; ... **/

  first=cin.get(); /* int istream::get(): &quot;Extracts a character from the stream and returns its value (casted to an integer).&quot; 
  Das heißt, das erste Zeichen (hier ein 'J') wird aus dem Stream entfernt und in first geschrieben. 
  In cin steht folglich nur mehr &quot;ohn Doe&quot;, in first mittlerweise ein 'J'. */

  cin.ignore(256,' '); /* istream&amp; istream::ignore(streamsize, int): &quot;The extraction ends when n characters have been extracted and discarded or when the character
  delim is found, whichever comes first. [...]&quot; Es werden also, in diesem Fall, maximal 256 Zeichen aus cin gelesen (und verworfen, d.h. &quot;ignoriert&quot;), es sei denn 
  es taucht ein Leerzeichen auf, bevor 256 Zeichen gelesen werden konnten.
  Bei &quot;ohn Doe&quot; ist das schon nach 3 Zeichen der Fall, es wird folglich &quot;ohn &quot; (samt Leerzeichen) entfernt. In cin steht noch &quot;Doe&quot;, first und last bleiben unverändert */

  last=cin.get(); // Wieder dasselbe Spielchen wie oben. cin = &quot;oe&quot;, last = 'D'

  cout &lt;&lt; &quot;Your initials are &quot; &lt;&lt; first &lt;&lt; last; // Et voilà.

  return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2116772</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116772</guid><dc:creator><![CDATA[ntrnt]]></dc:creator><pubDate>Thu, 08 Sep 2011 15:35:33 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 15:36:51 GMT]]></title><description><![CDATA[<p>Da was wohl wer (viel) schneller...doppelt hält besser. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f921.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--clown_face"
      title=":clown:"
      alt="🤡"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116775</guid><dc:creator><![CDATA[ntrnt]]></dc:creator><pubDate>Thu, 08 Sep 2011 15:36:51 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 15:47:36 GMT]]></title><description><![CDATA[<p>redrew99 schrieb:</p>
<blockquote>
<blockquote>
<p>Alles klar?</p>
</blockquote>
<p>Bis auf eine Sache ja. <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /> :<br />
Wenn man noch eine dritte Variable (z.B.</p>
<pre><code class="language-cpp">char second;
</code></pre>
<p>hinzufügt,bekommt sie über die Funktion</p>
<pre><code class="language-cpp">cin.ignore(256,' ');
</code></pre>
<p>das Zeichen &quot;ü&quot; zugewiesen.</p>
</blockquote>
<p>Nein. Über die Funktion ignore bekommt niemand irgendwas zugewiesen. ignore entfernt lediglich Zeichen aus dem Stream. Und zwar nur zu dem Zeitpunkt, zu dem die Funktion auch aufgerufen wird. Rufst Du ignore also nur einmal auf, werden auch nur einmal Zeichen bis zum nächsten Leerzeichen entfernt, weitere Leerzeichen weiter hinten im Stream bleiben drin und folgende get - Aufrufe holen nun immer das nächste Zeichen.<br />
Um bei meinem Beispiel zu bleiben, wenn first = 'M' und last = 'i' geworden ist, dann ist das nächste Zeichen im Stream ein 'n'. Hast Du vorher ignore(256, ...) anstatt ignore(3, ...) gemacht, dann steht in first ein 'M' in last auch ein 'M' (nach der Eingabe 'Martin Müller ...' und ein weiteres get OHNE ein erneutes ignore liefert dann natürlich das 'ü', weil das das nächste Zeichen im Stream ist. Willst Du stattdessen nach 'Martin Schmitz Bäcker' 'M' 'S' und 'B' haben, dann musst Du<br />
get ignore get ignore get aufrufen, damit auch die Zeichen nach dem 'S' bis zum nächsten Leerzeichen aus dem Stream entfernt werden.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2116784</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116784</guid><dc:creator><![CDATA[Belli]]></dc:creator><pubDate>Thu, 08 Sep 2011 15:47:36 GMT</pubDate></item><item><title><![CDATA[Reply to Gültigkeit von cin.ignore() -GELÖST- on Thu, 08 Sep 2011 17:42:48 GMT]]></title><description><![CDATA[<p>Belli schrieb:</p>
<blockquote>
<p>Willst Du stattdessen nach 'Martin Schmitz Bäcker' 'M' 'S' und 'B' haben, dann musst Du get ignore get ignore get aufrufen, damit auch die Zeichen nach dem 'S' bis zum nächsten Leerzeichen aus dem Stream entfernt werden.</p>
</blockquote>
<p>Ok. Jetzt habe ich alles Verstanden <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>Danke an alle für tatkräftige Unterstützung <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/2116858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2116858</guid><dc:creator><![CDATA[redrew99]]></dc:creator><pubDate>Thu, 08 Sep 2011 17:42:48 GMT</pubDate></item></channel></rss>