<?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[getchar() wird einfach im Porgramm übersprungen, muss 2 mal geschrieben werden warum das ?]]></title><description><![CDATA[<p>Also habe grade angefange c++ zu lernen und bei mir überspringt der einfach das &quot;getchar();&quot;.Ich habe weitere versuche vollzogen und habe bemerkt das ich es 2 mal schreiben muss. Kann mir jemand sagen warum das so ist und ob es nicht noch einen anderen, sicherern Weg gibt. <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 />
Hier mein Code der überspungen wird:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int main()
{
  int iZahl1;
  int iZahl2;
  int iErgebnis;
  cout &lt;&lt; &quot;Geben sie 2 Zahlen zum addieren ein!&quot; &lt;&lt; endl;
  cin &gt;&gt; iZahl1;

  cin &gt;&gt; iZahl2;

  iErgebnis = iZahl1 + iZahl2;
  cout &lt;&lt;&quot;Hallo das Ergebnis liegt bei &quot; &lt;&lt; iErgebnis &lt;&lt; endl;
  getchar();
  return 0;

}
</code></pre>
<p>Und hier der der geht:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int main()
{
  int iZahl1;
  int iZahl2;
  int iErgebnis;
  cout &lt;&lt; &quot;Geben sie 2 Zahlen zum addieren ein!&quot; &lt;&lt; endl;
  cin &gt;&gt; iZahl1;

  cin &gt;&gt; iZahl2;

  iErgebnis = iZahl1 + iZahl2;
  cout &lt;&lt;&quot;Hallo das Ergebnis liegt bei &quot; &lt;&lt; iErgebnis &lt;&lt; endl;
  getchar();
  getchar();
  return 0;

}
</code></pre>
<p>Mfg. lucas</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/304712/getchar-wird-einfach-im-porgramm-übersprungen-muss-2-mal-geschrieben-werden-warum-das</link><generator>RSS for Node</generator><lastBuildDate>Sat, 27 Jun 2026 06:22:13 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/304712.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 12 Jun 2012 20:18:22 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to getchar() wird einfach im Porgramm übersprungen, muss 2 mal geschrieben werden warum das ? on Tue, 12 Jun 2012 20:18:22 GMT]]></title><description><![CDATA[<p>Also habe grade angefange c++ zu lernen und bei mir überspringt der einfach das &quot;getchar();&quot;.Ich habe weitere versuche vollzogen und habe bemerkt das ich es 2 mal schreiben muss. Kann mir jemand sagen warum das so ist und ob es nicht noch einen anderen, sicherern Weg gibt. <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 />
Hier mein Code der überspungen wird:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int main()
{
  int iZahl1;
  int iZahl2;
  int iErgebnis;
  cout &lt;&lt; &quot;Geben sie 2 Zahlen zum addieren ein!&quot; &lt;&lt; endl;
  cin &gt;&gt; iZahl1;

  cin &gt;&gt; iZahl2;

  iErgebnis = iZahl1 + iZahl2;
  cout &lt;&lt;&quot;Hallo das Ergebnis liegt bei &quot; &lt;&lt; iErgebnis &lt;&lt; endl;
  getchar();
  return 0;

}
</code></pre>
<p>Und hier der der geht:</p>
<pre><code>#include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int main()
{
  int iZahl1;
  int iZahl2;
  int iErgebnis;
  cout &lt;&lt; &quot;Geben sie 2 Zahlen zum addieren ein!&quot; &lt;&lt; endl;
  cin &gt;&gt; iZahl1;

  cin &gt;&gt; iZahl2;

  iErgebnis = iZahl1 + iZahl2;
  cout &lt;&lt;&quot;Hallo das Ergebnis liegt bei &quot; &lt;&lt; iErgebnis &lt;&lt; endl;
  getchar();
  getchar();
  return 0;

}
</code></pre>
<p>Mfg. lucas</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222541</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222541</guid><dc:creator><![CDATA[TheKingPommes]]></dc:creator><pubDate>Tue, 12 Jun 2012 20:18:22 GMT</pubDate></item><item><title><![CDATA[Reply to getchar() wird einfach im Porgramm übersprungen, muss 2 mal geschrieben werden warum das ? on Tue, 12 Jun 2012 20:23:36 GMT]]></title><description><![CDATA[<p>cin entfernt das abschließende &quot;Return&quot; der Eingaben nicht aus dem Buffer. Sprich wenn getchar() das erste mal aufgerufen wird, liest er das &quot;Return&quot; aus. getchar() entfernt es allerdings aus dem Buffer, woraufhin es so aussieht, als ob das erste getchar() übersprungen wird und nur das zweite was macht.<br />
Daher hab ich bisher immer versucht das mischen von getchar() und cin zu vermeiden, aber vielleicht gibts bessere optionen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222544</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222544</guid><dc:creator><![CDATA[christian99]]></dc:creator><pubDate>Tue, 12 Jun 2012 20:23:36 GMT</pubDate></item><item><title><![CDATA[Reply to getchar() wird einfach im Porgramm übersprungen, muss 2 mal geschrieben werden warum das ? on Tue, 12 Jun 2012 20:33:34 GMT]]></title><description><![CDATA[<p>Versuch es doch mal mit std::cin.sync() und danach std::cin.get() statt getchar()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222550</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222550</guid><dc:creator><![CDATA[charrer]]></dc:creator><pubDate>Tue, 12 Jun 2012 20:33:34 GMT</pubDate></item><item><title><![CDATA[Reply to getchar() wird einfach im Porgramm übersprungen, muss 2 mal geschrieben werden warum das ? on Tue, 12 Jun 2012 20:34:58 GMT]]></title><description><![CDATA[<p>Auf diese <code>wait</code> Funktion kannst du dich verlassen. <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>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;limits&gt;

void wait()
{
    std::cin.clear();
	std::cin.ignore(std::numeric_limits&lt;std::streamsize&gt;::max(),'\n');
	std::cin.get();
}

int main()
{
	wait();
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2222551</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222551</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 12 Jun 2012 20:34:58 GMT</pubDate></item><item><title><![CDATA[Reply to getchar() wird einfach im Porgramm übersprungen, muss 2 mal geschrieben werden warum das ? on Tue, 12 Jun 2012 20:44:40 GMT]]></title><description><![CDATA[<p>Gugelmoser schrieb:</p>
<blockquote>
<p>Auf diese <code>wait</code> Funktion kannst du dich verlassen. <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>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;limits&gt;

void wait()
{
    std::cin.clear();
	std::cin.ignore(std::numeric_limits&lt;std::streamsize&gt;::max(),'\n');
	std::cin.get();
}

int main()
{
	wait();
}
</code></pre>
</blockquote>
<p>Vielen danke! So funktioniert es. Kannnst du mir vielleicht nich erklären wie das funktioniert? Es sieht für mich wie ne Funktion aus (kenne fast nichts in c++ aber habe mit php erfahrung gesammelt) ist das auch ein? <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/2222553</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222553</guid><dc:creator><![CDATA[TheKingPommes]]></dc:creator><pubDate>Tue, 12 Jun 2012 20:44:40 GMT</pubDate></item><item><title><![CDATA[Reply to getchar() wird einfach im Porgramm übersprungen, muss 2 mal geschrieben werden warum das ? on Tue, 12 Jun 2012 20:52:00 GMT]]></title><description><![CDATA[<p>TheKingPommes schrieb:</p>
<blockquote>
<p>Vielen danke! So funktioniert es. Kannnst du mir vielleicht nich erklären wie das funktioniert? Es sieht für mich wie ne Funktion aus (kenne fast nichts in c++ aber habe mit php erfahrung gesammelt) ist das auch ein? <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>Ja, das ist eine Funktion. <code>void</code> ist der Rückgabedatentyp. <code>wait</code> ist der Name der Funktion. <code>()</code> ist die Parameterliste, die in diesem Fall leer ist, d.h. die Funktion erwartet bei einem Aufruf keine Arugmente.</p>
<p>-std::cin.clear(): Setzt <code>cin</code> in seinen gültigen Zustand zurück. <code>cin</code> wäre z.B. in einem ungültigen Zustand, wenn du eine Ganzzahl (int) einlesen möchtest, stattdessen aber ein Zeichen (char) eingibst.</p>
<p>-std::cin.ignore(...): Verwirft im Puffer steckende Zeichen, z.B. zurückgebliebene <code>Enter</code> .</p>
<p>-std::cin.get(): Wartet auf eine Eingabe.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2222557</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2222557</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 12 Jun 2012 20:52:00 GMT</pubDate></item></channel></rss>