<?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[Drücke ESC um abzubrechen]]></title><description><![CDATA[<p>Wie kann ich eine Endlosschleife mit hilfe von einem Tastendruck (ESC) unterbrechen?</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/306672/drücke-esc-um-abzubrechen</link><generator>RSS for Node</generator><lastBuildDate>Fri, 07 Aug 2026 11:55:04 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/306672.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 04 Aug 2012 06:36:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sat, 04 Aug 2012 06:36:08 GMT]]></title><description><![CDATA[<p>Wie kann ich eine Endlosschleife mit hilfe von einem Tastendruck (ESC) unterbrechen?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238567</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238567</guid><dc:creator><![CDATA[Enitin]]></dc:creator><pubDate>Sat, 04 Aug 2012 06:36:08 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sat, 04 Aug 2012 08:26:04 GMT]]></title><description><![CDATA[<p>betriebsystemabhängig unter windows mit getch()</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238580</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238580</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sat, 04 Aug 2012 08:26:04 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sat, 04 Aug 2012 08:30:18 GMT]]></title><description><![CDATA[<p><a href="http://www.c-plusplus.net/forum/111042" rel="nofollow">http://www.c-plusplus.net/forum/111042</a><br />
Mit der C++ Variante...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238582</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238582</guid><dc:creator><![CDATA[theta]]></dc:creator><pubDate>Sat, 04 Aug 2012 08:30:18 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sat, 04 Aug 2012 08:31:48 GMT]]></title><description><![CDATA[<p>theta schrieb:</p>
<blockquote>
<p><a href="http://www.c-plusplus.net/forum/111042" rel="nofollow">http://www.c-plusplus.net/forum/111042</a><br />
Mit der C++ Variante...</p>
</blockquote>
<p>?? es geht doch nicht um das schliessen der konsole zu verhindern?!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238584</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238584</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sat, 04 Aug 2012 08:31:48 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sat, 04 Aug 2012 19:37:58 GMT]]></title><description><![CDATA[<p>Skym0sh0 schrieb:</p>
<blockquote>
<p>betriebsystemabhängig unter windows mit getch()</p>
</blockquote>
<p>getch() blockiert wenn kein Input da ist. Man benötigt zusätzlich also noch _kbhit().</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238767</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238767</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 04 Aug 2012 19:37:58 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sat, 04 Aug 2012 19:53:37 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>_kbhit().</p>
</blockquote>
<p>*kbhit()</p>
<p>Sieht so aus:</p>
<pre><code class="language-cpp">for(;;)
{
 ...
  if(kbhit())
    switch(getch())
    {
        ...
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2238777</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238777</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sat, 04 Aug 2012 19:53:37 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sat, 04 Aug 2012 20:27:31 GMT]]></title><description><![CDATA[<p>hustbaer schrieb:</p>
<blockquote>
<p>Skym0sh0 schrieb:</p>
<blockquote>
<p>betriebsystemabhängig unter windows mit getch()</p>
</blockquote>
<p>getch() blockiert wenn kein Input da ist. Man benötigt zusätzlich also noch _kbhit().</p>
</blockquote>
<p>mh hast recht, aber das habe ich jetzt nicht aus der frage geschlossen.<br />
naja egal...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238787</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238787</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sat, 04 Aug 2012 20:27:31 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sat, 04 Aug 2012 20:47:53 GMT]]></title><description><![CDATA[<p>War ja auch nicht als Kritik sondern als &quot;Vervollständigung&quot; gemeint.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238796</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238796</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sat, 04 Aug 2012 20:47:53 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sun, 05 Aug 2012 11:21:23 GMT]]></title><description><![CDATA[<p>Danke für die vielen Antworten aber ich habe leider nichts verstanden. <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="😃"
    /> Könnt ihr das vielleicht sehr genau für mich erklären?</p>
<p>Skym0sh0 schrieb:</p>
<blockquote>
<p>betriebsystemabhängig unter windows mit getch()</p>
</blockquote>
<p>Ich bin noch Anfänger und das sagt mir leider fast garnichts. <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 />
Ich möchte das eine Endlosschleife...</p>
<pre><code class="language-cpp">for (;;)
{
...
}
</code></pre>
<p>...durch das drücken von ESC beendet wird und z.B mit etwas anderem anfängt. Beispielsweise:</p>
<pre><code class="language-cpp">cout &lt;&lt; &quot;Wollen Sie das Programm beenden? Y/N&quot; &lt;&lt; endl;
cin &gt;&gt; Ende;
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/2238935</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238935</guid><dc:creator><![CDATA[Enitin]]></dc:creator><pubDate>Sun, 05 Aug 2012 11:21:23 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sun, 05 Aug 2012 11:40:26 GMT]]></title><description><![CDATA[<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;conio.h&gt;

int main()
{
	for( ; ; )
	{
		std::cout &lt;&lt; &quot;LoL&quot; &lt;&lt; std::endl;
		if ( _kbhit() )
		{
			if ( _getch() == 27 ) // escape
			{
				std::cout &lt;&lt; &quot;Ende&quot; &lt;&lt; std::endl;
				break;
			}
		}
	}

	return 0x0;
}
</code></pre>
<p>aber nur unter windows (mindestens unter msvc)</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238938</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238938</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sun, 05 Aug 2012 11:40:26 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sun, 05 Aug 2012 11:53:08 GMT]]></title><description><![CDATA[<p>Enitin schrieb:</p>
<blockquote>
<p>Drücke ESC um abzubrechen</p>
</blockquote>
<p>...jetzt bin ich abgebrochen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238941</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238941</guid><dc:creator><![CDATA[toll...]]></dc:creator><pubDate>Sun, 05 Aug 2012 11:53:08 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sun, 05 Aug 2012 12:48:03 GMT]]></title><description><![CDATA[<p>So habe ich das fast gemeint. Aber kann man das auch dauerhaft überprüfen? Also das wenn man auf ESC drückt das Programm das sofort bemerkt. Bei dir bemerkt er es ja sofort weil der Code nicht besonders lang 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/2238948</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238948</guid><dc:creator><![CDATA[Enitin]]></dc:creator><pubDate>Sun, 05 Aug 2012 12:48:03 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sun, 05 Aug 2012 14:57:17 GMT]]></title><description><![CDATA[<p>??<br />
dann musst du per winapi (oder halt ein anderes fenster system) was basteln<br />
aber das ist dann kein standard c++ mehr und für einen anfänger nicht einfach</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238977</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238977</guid><dc:creator><![CDATA[Skym0sh0]]></dc:creator><pubDate>Sun, 05 Aug 2012 14:57:17 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sun, 05 Aug 2012 15:06:46 GMT]]></title><description><![CDATA[<p>Sowas geht bspw. mit Qt - Signals&amp;Slots.</p>
<p>(Dort würde man also entweder einen Shortcut auf eine Quit-Aktion geben oder in <code>KeyPressedEvent()</code> prüfen).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238981</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238981</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sun, 05 Aug 2012 15:06:46 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sun, 05 Aug 2012 15:13:57 GMT]]></title><description><![CDATA[<p>Sone schrieb:</p>
<blockquote>
<p>Sowas geht bspw. mit Qt - Signals&amp;Slots.</p>
<p>(Dort würde man also entweder einen Shortcut auf eine Quit-Aktion geben oder in <code>KeyPressedEvent()</code> prüfen).</p>
</blockquote>
<p>F.uck off Qt.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238985</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238985</guid><dc:creator><![CDATA[Kellerautomat]]></dc:creator><pubDate>Sun, 05 Aug 2012 15:13:57 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sun, 05 Aug 2012 15:17:29 GMT]]></title><description><![CDATA[<p>Kellerautomat schrieb:</p>
<blockquote>
<p>Sone schrieb:</p>
<blockquote>
<p>Sowas geht bspw. mit Qt - Signals&amp;Slots.</p>
<p>(Dort würde man also entweder einen Shortcut auf eine Quit-Aktion geben oder in <code>KeyPressedEvent()</code> prüfen).</p>
</blockquote>
<p>F.uck off Qt.</p>
</blockquote>
<p>Gut, gut. Dann mit.. ja womit denn? Mit der WINAPI bestimmt irgendwie (also dass es mit GetKeyState sowieso geht, aber ohne Schleife).</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2238986</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2238986</guid><dc:creator><![CDATA[Sone]]></dc:creator><pubDate>Sun, 05 Aug 2012 15:17:29 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sun, 05 Aug 2012 16:23:34 GMT]]></title><description><![CDATA[<p>Hmmm... WinAPI ist erstmal nichts für mich. Trotzdem danke. <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/2239000</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239000</guid><dc:creator><![CDATA[Enitin]]></dc:creator><pubDate>Sun, 05 Aug 2012 16:23:34 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Sun, 05 Aug 2012 20:14:22 GMT]]></title><description><![CDATA[<p>Enitin schrieb:</p>
<blockquote>
<p>So habe ich das fast gemeint. Aber kann man das auch dauerhaft überprüfen? Also das wenn man auf ESC drückt das Programm das sofort bemerkt. Bei dir bemerkt er es ja sofort weil der Code nicht besonders lang 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>
</blockquote>
<p>Und was genau soll er dann machen wenn es &quot;bemerkt&quot; wurde?</p>
<p>Die einfachste Variante ist und bleibt an bestimmten Punkte zu checken ob abgebrochen werden soll.</p>
<p>Alle anderen Varianten sind deutlich schwieriger zu handhaben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239052</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239052</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Sun, 05 Aug 2012 20:14:22 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Mon, 06 Aug 2012 08:02:14 GMT]]></title><description><![CDATA[<p>Aber wenn man zum Beispiel den Ping mit...</p>
<pre><code class="language-cpp">system((&quot;ping &quot; + IP).c_str());
</code></pre>
<p>...in einer &quot;Endlosschleife&quot; (Was sie ja dann nicht mehr ist.) testet kann man es nicht sofort abbrechen und muss erst warten bis er fertig getestet hat.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239175</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239175</guid><dc:creator><![CDATA[Enitin]]></dc:creator><pubDate>Mon, 06 Aug 2012 08:02:14 GMT</pubDate></item><item><title><![CDATA[Reply to Drücke ESC um abzubrechen on Mon, 06 Aug 2012 10:05:48 GMT]]></title><description><![CDATA[<p>Enitin schrieb:</p>
<blockquote>
<p>Aber wenn man zum Beispiel den Ping mit...</p>
<pre><code class="language-cpp">system((&quot;ping &quot; + IP).c_str());
</code></pre>
<p>...in einer &quot;Endlosschleife&quot; (Was sie ja dann nicht mehr ist.) testet kann man es nicht sofort abbrechen und muss erst warten bis er fertig getestet hat.</p>
</blockquote>
<p>Ja, ich weiss.<br />
Aber nochmal die Frage: was genau soll er jetzt machen wenn &quot;bemerkt&quot; wurde dass die Taste gedrückt wurde?</p>
<p>Den &quot;system()&quot; Call auf magische Weise abbrechen? Sorry, das geht nicht so ohne weiteres.</p>
<p>Damit du überhaupt irgendwie informiert werden kannst, während ein &quot;ununterbrechbarer&quot; Befehl läuft, musst du Threads verwenden, und da fängt die Sache schon an kompliziert zu werden, denn Threads sind nicht ganz ohne.<br />
Und dann kannst du &quot;system()&quot; trotzdem noch nicht abbrechen.</p>
<p>Du müsstest also dein eigenes &quot;system()&quot; schreiben welches abbrechbar ist. Und das kann dann genau so gut wieder ohne Threads abbrechbar gemacht werden, indem es periodisch prüft ob es abbrechen soll.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/2239231</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/2239231</guid><dc:creator><![CDATA[hustbaer]]></dc:creator><pubDate>Mon, 06 Aug 2012 10:05:48 GMT</pubDate></item></channel></rss>