<?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;Programm rastet aus&amp;quot;^^]]></title><description><![CDATA[<p>also wenn man mittels cin einen integer einlesen will</p>
<pre><code class="language-cpp">int main()
{
int intVariable = 0;
std::cin&gt;&gt;intVariable;
return 0;
}
</code></pre>
<p>und man gibt dann im programm einen buchstaben ein, dann , wie ich so schön sage, rastet das programm aus. dass heisst dasses ewig das eingegebene abklappert wie in einer schleife welche man nicht unterbrechen kann...</p>
<p>gibt es einen weg das zu umgehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/128050/quot-programm-rastet-aus-quot</link><generator>RSS for Node</generator><lastBuildDate>Tue, 25 Aug 2026 09:22:47 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/128050.rss" rel="self" type="application/rss+xml"/><pubDate>Tue, 29 Nov 2005 20:25:09 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to &amp;quot;Programm rastet aus&amp;quot;^^ on Tue, 29 Nov 2005 20:26:14 GMT]]></title><description><![CDATA[<p>also wenn man mittels cin einen integer einlesen will</p>
<pre><code class="language-cpp">int main()
{
int intVariable = 0;
std::cin&gt;&gt;intVariable;
return 0;
}
</code></pre>
<p>und man gibt dann im programm einen buchstaben ein, dann , wie ich so schön sage, rastet das programm aus. dass heisst dasses ewig das eingegebene abklappert wie in einer schleife welche man nicht unterbrechen kann...</p>
<p>gibt es einen weg das zu umgehen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/930164</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/930164</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Tue, 29 Nov 2005 20:26:14 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Programm rastet aus&amp;quot;^^ on Tue, 29 Nov 2005 20:29:12 GMT]]></title><description><![CDATA[<p>Schau mal hier, wie du das handhaben musst:<br />
<a href="http://www.c-plusplus.net/forum/viewtopic-var-t-is-125991-and-highlight-is-.html" rel="nofollow">http://www.c-plusplus.net/forum/viewtopic-var-t-is-125991-and-highlight-is-.html</a></p>
<p><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/930168</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/930168</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Tue, 29 Nov 2005 20:29:12 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Programm rastet aus&amp;quot;^^ on Tue, 29 Nov 2005 20:34:12 GMT]]></title><description><![CDATA[<p>0.0 ok aber ich kann da drin nix sinnvolles für mich erkennen auser irgendwelchen failbits ^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/930174</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/930174</guid><dc:creator><![CDATA[[[global:former_user]]]]></dc:creator><pubDate>Tue, 29 Nov 2005 20:34:12 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Programm rastet aus&amp;quot;^^ on Wed, 30 Nov 2005 10:04:27 GMT]]></title><description><![CDATA[<p>Dann solltest du den Thread nochmal richtig lesen.<br />
&quot;input&quot; in dem Thread ist ein Eingabestream, wie auch cin es einer ist und da dort auch die Möglichkeit (allerdings aus einer Datei) besteht statt einer Zahl ein '-' (also ein Zeichen) zu beginn einzulesen, entspricht es deinem Problem.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/930399</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/930399</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Wed, 30 Nov 2005 10:04:27 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Programm rastet aus&amp;quot;^^ on Wed, 30 Nov 2005 12:27:29 GMT]]></title><description><![CDATA[<p>du kannst nicht intvariable als 0 bestimmen wenn dus per eingabe bestimmen willst...^^</p>
]]></description><link>https://www.c-plusplus.net/forum/post/930525</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/930525</guid><dc:creator><![CDATA[imo]]></dc:creator><pubDate>Wed, 30 Nov 2005 12:27:29 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Programm rastet aus&amp;quot;^^ on Wed, 30 Nov 2005 12:34:22 GMT]]></title><description><![CDATA[<p>Man darf eine Variable nicht initialisieren, wenn man ihr einen Wert zuweisen will der von der Standardeingabe kommt? Wohl kaum.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/930531</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/930531</guid><dc:creator><![CDATA[Vellas]]></dc:creator><pubDate>Wed, 30 Nov 2005 12:34:22 GMT</pubDate></item><item><title><![CDATA[Reply to &amp;quot;Programm rastet aus&amp;quot;^^ on Wed, 30 Nov 2005 14:59:45 GMT]]></title><description><![CDATA[<p>Also,....</p>
<p>du hast eine int Variable! Jetzt ließt du mit cin und den &gt;&gt; operatoren was da rein...<br />
Ist dies bzw sind das Zahlen dann gibts keine Probleme.<br />
Aber solltest du jetzt ein Zeichen da einlesen wollen da läuft das ganze so ab.</p>
<p>operator&gt;&gt; nimmt das Zeichen und steckt es in einen Puffer.<br />
Dann merkt er das die Zeichen im Puffer nicht mit dem Zieltyp(dein int) kompatibel sind, deswegen setzt er das iostate failbit auf 1.</p>
<p>Die Streamklassen haben folgende Iostate-Objekte (diese geben Information über den Status deines Streams):</p>
<p>badbit --&gt; Schwerer Fehler. Datei futsch oder sonstwas.<br />
failbit --&gt; Fehler bei I/O-Operationen. Deinem Stream aber geht es gut <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="😉"
    /><br />
eofbit --&gt; &quot;sagt der name schon aus&quot; <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f61b.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_tongue"
      title=":P"
      alt="😛"
    /><br />
goodbit --&gt; Keiner der drei anderen flags ist gesetzt.</p>
<p>Nun ist es ja logisch das failbit gesetzt wird, denn es trat ja ein I/O Fehler auf!</p>
<p>Um das also abzufragen musst du mit der Elementfunktion fail() den Zustand von failbit abfragen.</p>
<p>Dieser gibt dir natürlich dann 1 zurück wenn du ein Fehler wie bei dir hast.<br />
Nun weißt du ja das du ein Fehler hast, also musst du ihn ja beheben und den Stream wieder &quot;einsatzfähig&quot; machen.</p>
<p>Mit der Funktion clear() löschst du erstamls alle Fehlerflags.<br />
Jetzt aber stehen die Zeichen immer noch im Puffer, diese &quot;ignorierst&quot; du dann mit der Funktion ignore().</p>
<p>Danach kannst du mit wieder normal arbeit <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>
<pre><code class="language-cpp">int var;

...
cin &gt;&gt;var;

if(cin.fail())
{
    cin.clear();
    cin.ignore();
}
...
</code></pre>
<p>Das sollte doch auch funktionieren oder ?</p>
<pre><code class="language-cpp">int var;

...
cin &gt;&gt; var;

if(cin.fail())
{
    cin.clear();
    std::string s;
    cin &gt;&gt; s;
}
...
</code></pre>
<p>Hier noch ein guter Link zu der Geschickte mit den Flags und so:<br />
<a href="http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=eof#Answ" rel="nofollow">http://fara.cs.uni-potsdam.de/~kaufmann/?page=GenCppFaqs&amp;faq=eof#Answ</a></p>
]]></description><link>https://www.c-plusplus.net/forum/post/930673</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/930673</guid><dc:creator><![CDATA[[[global:guest]]]]></dc:creator><pubDate>Wed, 30 Nov 2005 14:59:45 GMT</pubDate></item></channel></rss>