<?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[cin um cin.flush erweitern??]]></title><description><![CDATA[<p>Hallo,<br />
kann man Standartfunktionen wie cin erweitern, so dass ich mir ein eigenes cin.flush schreiben kann?<br />
Und wo genau findet man den Code von cin? Den hab ich leider noch nicht gefunden...<br />
Möchte mir nach Möglichkeit das als Funktion zum Eingabepuffer leeren selber schreiben!<br />
Vielen Dank schon mal!</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/176166/cin-um-cin-flush-erweitern</link><generator>RSS for Node</generator><lastBuildDate>Sat, 19 Sep 2026 13:26:06 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/176166.rss" rel="self" type="application/rss+xml"/><pubDate>Sun, 18 Mar 2007 15:10:02 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to cin um cin.flush erweitern?? on Sun, 18 Mar 2007 15:10:02 GMT]]></title><description><![CDATA[<p>Hallo,<br />
kann man Standartfunktionen wie cin erweitern, so dass ich mir ein eigenes cin.flush schreiben kann?<br />
Und wo genau findet man den Code von cin? Den hab ich leider noch nicht gefunden...<br />
Möchte mir nach Möglichkeit das als Funktion zum Eingabepuffer leeren selber schreiben!<br />
Vielen Dank schon mal!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1247779</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1247779</guid><dc:creator><![CDATA[uekue]]></dc:creator><pubDate>Sun, 18 Mar 2007 15:10:02 GMT</pubDate></item><item><title><![CDATA[Reply to cin um cin.flush erweitern?? on Sun, 18 Mar 2007 15:56:22 GMT]]></title><description><![CDATA[<p>hmm, ableiten und überschreiben vielleicht?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1247812</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1247812</guid><dc:creator><![CDATA[Shinja]]></dc:creator><pubDate>Sun, 18 Mar 2007 15:56:22 GMT</pubDate></item><item><title><![CDATA[Reply to cin um cin.flush erweitern?? on Sun, 18 Mar 2007 16:35:07 GMT]]></title><description><![CDATA[<p>Geht das überschreiben dann einfach indem ich ein lokales Objekt cin der Klasse istream erstelle?<br />
Dann müsste ich praktisch nur ne abgeleitete Klasse myistream erstellen und um meine Funktion erweitern?</p>
<pre><code class="language-cpp">class myistream : public istream
{
    public:
    myistream();
    ~myistream();
    flush();               // meine neue Funktion cin.flush()
}

(...)
int main()
{
myistream cin;
(...)
}
</code></pre>
<p>Bei diesem Code beschwert sich der Compiler:<br />
error: destructors must be member functions</p>
<p>was bedeutet das da?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1247844</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1247844</guid><dc:creator><![CDATA[uekue]]></dc:creator><pubDate>Sun, 18 Mar 2007 16:35:07 GMT</pubDate></item><item><title><![CDATA[Reply to cin um cin.flush erweitern?? on Sun, 18 Mar 2007 17:56:04 GMT]]></title><description><![CDATA[<p>Oh man machs doch nicht so umständlich. Schreib dir ein Modifier das sieht auch gleich viel schöner aus nacher:</p>
<pre><code class="language-cpp">std::cin &gt;&gt; myflush;
</code></pre>
<p>Ansonsten geht deine Idee natürlich auch, musst eben deinem Stream den streambuf von cin übergeben.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1247891</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1247891</guid><dc:creator><![CDATA[Entenwickler]]></dc:creator><pubDate>Sun, 18 Mar 2007 17:56:04 GMT</pubDate></item><item><title><![CDATA[Reply to cin um cin.flush erweitern?? on Mon, 19 Mar 2007 07:08:44 GMT]]></title><description><![CDATA[<p>uekue schrieb:</p>
<blockquote>
<p>kann man Standartfunktionen wie cin erweitern, so dass ich mir ein eigenes cin.flush schreiben kann?</p>
</blockquote>
<p>Was gefällt dir denn am Standard-flush() nicht, daß du unbedingt ein eigenes brauchst?</p>
<p>(btw, cin ist keine Funktion, sondern ein Objekt <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="😉"
    /> (und wenn du dessen Methoden suchst, dann schau dir mal die Klasse istream an))</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1248117</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248117</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Mon, 19 Mar 2007 07:08:44 GMT</pubDate></item><item><title><![CDATA[Reply to cin um cin.flush erweitern?? on Mon, 19 Mar 2007 18:17:56 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>Was gefällt dir denn am Standard-flush() nicht, daß du unbedingt ein eigenes brauchst?</p>
</blockquote>
<p>Bei mir (Debian Linux 3.1, GCC 3.3.5) gibt es cin.flush() nicht!<br />
Wenn ich cin.flush() benutze, dann sagt er:<br />
'flush()' undeclared (first use this function)</p>
<p>Wenn ich cin.flush benutze, dann sagt er:<br />
'struct std::istream' has no member named 'flush'</p>
<p>Zur Klasse istream: Die such ich schon lange vergeblich! In meiner /usr/include/c++/3.3/istream wird nur die Klasse basic_istream definiert! Leider hab ich istream selbst noch nicht gefunden!<br />
Würde mir evtl. schon viel helfen wenn jemand weiss wo ich diese Klasse finde!</p>
<p>Die Idee mit dem Modifier gefällt mir aber auch ganz gut, das ist scheinbar auch nicht sehr schwer! Nur würde ich trotzdem das andere gerne können, nur so aus Interesse!</p>
<p>Danke schon mal für die Hilfe!</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1248640</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248640</guid><dc:creator><![CDATA[uekue]]></dc:creator><pubDate>Mon, 19 Mar 2007 18:17:56 GMT</pubDate></item><item><title><![CDATA[Reply to cin um cin.flush erweitern?? on Mon, 19 Mar 2007 18:57:27 GMT]]></title><description><![CDATA[<p>std::istream ist nur ein typedef auf std::basic_istream&lt;char&gt;</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1248669</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248669</guid><dc:creator><![CDATA[Entenwickler]]></dc:creator><pubDate>Mon, 19 Mar 2007 18:57:27 GMT</pubDate></item><item><title><![CDATA[Reply to cin um cin.flush erweitern?? on Tue, 20 Mar 2007 07:10:43 GMT]]></title><description><![CDATA[<p>uekue schrieb:</p>
<blockquote>
<p>CStoll schrieb:</p>
<blockquote>
<p>Was gefällt dir denn am Standard-flush() nicht, daß du unbedingt ein eigenes brauchst?</p>
</blockquote>
<p>Bei mir (Debian Linux 3.1, GCC 3.3.5) gibt es cin.flush() nicht!<br />
Wenn ich cin.flush() benutze, dann sagt er:<br />
'flush()' undeclared (first use this function)</p>
<p>Wenn ich cin.flush benutze, dann sagt er:<br />
'struct std::istream' has no member named 'flush'</p>
</blockquote>
<p>Dann solltest dir einen neuen Compiler suchen (istream::flush() ist im ANSI-Standard festgelegt - wenn dein Compiler das nicht kennt, ist er vermutlich hoffnungslos veraltet).</p>
<p>(oder du achtest darauf, den richtigen Header einzubinden - &lt;iostream.h&gt; ist prä-Standard, korrekt wäre &lt;iostream&gt;)</p>
<blockquote>
<p>Zur Klasse istream: Die such ich schon lange vergeblich! In meiner /usr/include/c++/3.3/istream wird nur die Klasse basic_istream definiert! Leider hab ich istream selbst noch nicht gefunden!<br />
Würde mir evtl. schon viel helfen wenn jemand weiss wo ich diese Klasse finde!</p>
</blockquote>
<p>Sorry, basic_istream&lt;&gt; ist schon die richtige Klasse - dort sollte eigentlich auch ein <code>typedef basic_istream&lt;char&gt; istream;</code> danebenstehen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1248883</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248883</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 20 Mar 2007 07:10:43 GMT</pubDate></item><item><title><![CDATA[Reply to cin um cin.flush erweitern?? on Tue, 20 Mar 2007 09:34:39 GMT]]></title><description><![CDATA[<p>CStoll schrieb:</p>
<blockquote>
<p>uekue schrieb:</p>
<blockquote>
<p>kann man Standartfunktionen wie cin erweitern, so dass ich mir ein eigenes cin.flush schreiben kann?</p>
</blockquote>
<p>Was gefällt dir denn am Standard-flush() nicht, daß du unbedingt ein eigenes brauchst?<br />
[...]<br />
istream::flush() ist im ANSI-Standard festgelegt</p>
</blockquote>
<p>Entschuldige, aber von welchem Standard sprichst du? ISO/IEC 14882 zumindest definiert kein istream::flush. Dieser Standard definiert flush lediglich für *Ausgabe*-Ströme. Was auch logisch ist, da das Konzept flush (Syncronisation von Ausgabeströmen mit externen Zielen) auf Eingabeströmen keinen Sinn macht.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1248945</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248945</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Tue, 20 Mar 2007 09:34:39 GMT</pubDate></item><item><title><![CDATA[Reply to cin um cin.flush erweitern?? on Tue, 20 Mar 2007 09:50:35 GMT]]></title><description><![CDATA[<p>Verdammt, jetzt hast du mich total durcheinandergebracht, also nochmal von vorne:</p>
<p>flush() ist wirklich nur für Ausgabeströme definiert (das C-Äquivalent fflush() lässt sich zwar auch mit Eingabe-FILE's verwenden, aber das gehört in den Bereich &quot;undefinied behaviour&quot;). Das, was die meisten Leute sich unter <code>fflush(stdin);</code> vorstellen, kannst du auf C++-Seite mit <code>cin.ignore(numeric_limits&lt;streamsize&gt;::max(),'\n');</code> erreichen.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1248960</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1248960</guid><dc:creator><![CDATA[CStoll]]></dc:creator><pubDate>Tue, 20 Mar 2007 09:50:35 GMT</pubDate></item></channel></rss>