<?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.rdbuf()-&gt;in_avail() liefert immer 0, warum?]]></title><description><![CDATA[<p>Warum liefert cin.rdbuf()-&gt;in_avail() immer 0? <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="😕"
    /> Das ist für mich echt ein Problem, weil ich nicht weiß, wie man ohne diese Funktion feststellen kann, ob noch ein '\n' im Puffer von cin hängt. Mein Compiler ist der GCC 3.2 (Linux).</p>
<p>[ Dieser Beitrag wurde am 13.03.2003 um 17:06 Uhr von <strong>Steven</strong> editiert. ]</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/35473/cin-rdbuf-in_avail-liefert-immer-0-warum</link><generator>RSS for Node</generator><lastBuildDate>Mon, 24 Aug 2026 15:17:30 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/35473.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 13 Mar 2003 15:59:00 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to cin.rdbuf()-&gt;in_avail() liefert immer 0, warum? on Thu, 13 Mar 2003 15:59:00 GMT]]></title><description><![CDATA[<p>Warum liefert cin.rdbuf()-&gt;in_avail() immer 0? <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="😕"
    /> Das ist für mich echt ein Problem, weil ich nicht weiß, wie man ohne diese Funktion feststellen kann, ob noch ein '\n' im Puffer von cin hängt. Mein Compiler ist der GCC 3.2 (Linux).</p>
<p>[ Dieser Beitrag wurde am 13.03.2003 um 17:06 Uhr von <strong>Steven</strong> editiert. ]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/258849</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/258849</guid><dc:creator><![CDATA[Steven]]></dc:creator><pubDate>Thu, 13 Mar 2003 15:59:00 GMT</pubDate></item><item><title><![CDATA[Reply to cin.rdbuf()-&gt;in_avail() liefert immer 0, warum? on Thu, 13 Mar 2003 16:27:00 GMT]]></title><description><![CDATA[<p>Wo ist dein Problem?<br />
Wenn cin.rdbuf()-&gt;in_avail() 0 liefert, dann hängt auch kein '\n' im Puffer von cin.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/258850</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/258850</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Thu, 13 Mar 2003 16:27:00 GMT</pubDate></item><item><title><![CDATA[Reply to cin.rdbuf()-&gt;in_avail() liefert immer 0, warum? on Thu, 13 Mar 2003 16:35:00 GMT]]></title><description><![CDATA[<blockquote>
<p>Original erstellt von HumeSikkins:<br />
<strong>Wo ist dein Problem?<br />
Wenn cin.rdbuf()-&gt;in_avail() 0 liefert, dann hängt auch kein '\n' im Puffer von cin.</strong></p>
</blockquote>
<p>Vielleicht doch:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
    char ch;
    cout &lt;&lt; &quot;Geben Sie ein/mehrere Zeichen ein: &quot;;
    cin &gt;&gt; ch;
    cout &lt;&lt; &quot;cin.rdbuf()-&gt;in_avail(): &quot; &lt;&lt; cin.rdbuf()-&gt;in_avail() &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>Ich gebe z.B. &quot;ABC&quot; ein und er liefert mir 0.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/258851</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/258851</guid><dc:creator><![CDATA[Steven]]></dc:creator><pubDate>Thu, 13 Mar 2003 16:35:00 GMT</pubDate></item><item><title><![CDATA[Reply to cin.rdbuf()-&gt;in_avail() liefert immer 0, warum? on Thu, 13 Mar 2003 16:37:00 GMT]]></title><description><![CDATA[<p>Ist doch vollkommen korrektes Verhalten. <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="😕"
    /> <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f62e.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--face_with_open_mouth"
      title=":open_mouth:"
      alt="😮"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/258852</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/258852</guid><dc:creator><![CDATA[Tobsen]]></dc:creator><pubDate>Thu, 13 Mar 2003 16:37:00 GMT</pubDate></item><item><title><![CDATA[Reply to cin.rdbuf()-&gt;in_avail() liefert immer 0, warum? on Thu, 13 Mar 2003 16:38:00 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/1016">@Tobsen</a>: Warum?<br />
Wie kann ich dann den Rest der Zeichen im Puffer loswerden?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/258854</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/258854</guid><dc:creator><![CDATA[Steven]]></dc:creator><pubDate>Thu, 13 Mar 2003 16:38:00 GMT</pubDate></item><item><title><![CDATA[Reply to cin.rdbuf()-&gt;in_avail() liefert immer 0, warum? on Thu, 13 Mar 2003 16:38:00 GMT]]></title><description><![CDATA[<blockquote>
<p>Ich gebe z.B. &quot;ABC&quot; ein und er liefert mir 0.</p>
</blockquote>
<p>Interessant. Was passiert bei folgendem Beispiel?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
    char ch;
    cout &lt;&lt; &quot;Geben Sie ein/mehrere Zeichen ein: &quot;;
    cin &gt;&gt; ch;
    cout &lt;&lt; ch &lt;&lt; endl;
    // wird hier gewartet? Oder wird das noch zu lesende B
    // verwendet und danach ausgegeben?
    cin &gt;&gt; ch;
    cout &lt;&lt; ch &lt;&lt; endl;
    return 0;
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/258853</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/258853</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Thu, 13 Mar 2003 16:38:00 GMT</pubDate></item><item><title><![CDATA[Reply to cin.rdbuf()-&gt;in_avail() liefert immer 0, warum? on Thu, 13 Mar 2003 16:43:00 GMT]]></title><description><![CDATA[<blockquote>
<p>Original erstellt von HumeSikkins:<br />
**[quote] Ich gebe z.B. &quot;ABC&quot; ein und er liefert mir 0.<br />
**</p>
</blockquote>
<p>**<br />
Interessant. Was passiert bei folgendem Beispiel?</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
using namespace std;

int main()
{
    char ch;
    cout &lt;&lt; &quot;Geben Sie ein/mehrere Zeichen ein: &quot;;
    cin &gt;&gt; ch;
    cout &lt;&lt; ch &lt;&lt; endl;
    // wird hier gewartet? Oder wird das noch zu lesende B
    // verwendet und danach ausgegeben?
    cin &gt;&gt; ch;
    cout &lt;&lt; ch &lt;&lt; endl;
    return 0;
}
</code></pre>
<p>**[/QUOTE]</p>
<p>Er nimmt das B. Aber was hat das mit in_avail zu tun? <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="😕"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/258855</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/258855</guid><dc:creator><![CDATA[Steven]]></dc:creator><pubDate>Thu, 13 Mar 2003 16:43:00 GMT</pubDate></item><item><title><![CDATA[Reply to cin.rdbuf()-&gt;in_avail() liefert immer 0, warum? on Thu, 13 Mar 2003 16:54:00 GMT]]></title><description><![CDATA[<p>Hallo,<br />
versuch's damit:</p>
<pre><code class="language-cpp">cin.ignore(numeric_limits&lt;int&gt;::max(), '\n');
</code></pre>
<p>Das sollte auch auf dem gcc funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/258856</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/258856</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Thu, 13 Mar 2003 16:54:00 GMT</pubDate></item><item><title><![CDATA[Reply to cin.rdbuf()-&gt;in_avail() liefert immer 0, warum? on Thu, 13 Mar 2003 17:01:00 GMT]]></title><description><![CDATA[<p><a class="plugin-mentions-user plugin-mentions-a" href="https://www.c-plusplus.net/forum/uid/110">@HumeSikkins</a>: Danke! Aber ist so ein Verhalten des Compilers überhaupt ok? Und wenn kein Zeichen mehr drin ist, gibt es jetzt eine unnötige Verzögerung, weil auf das nächste '\n' gewartet wird. So ganz optimal ist das auch noch nicht...</p>
]]></description><link>https://www.c-plusplus.net/forum/post/258857</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/258857</guid><dc:creator><![CDATA[Steven]]></dc:creator><pubDate>Thu, 13 Mar 2003 17:01:00 GMT</pubDate></item><item><title><![CDATA[Reply to cin.rdbuf()-&gt;in_avail() liefert immer 0, warum? on Thu, 13 Mar 2003 22:42:00 GMT]]></title><description><![CDATA[<blockquote>
<p>Danke! Aber ist so ein Verhalten des Compilers überhaupt ok?</p>
</blockquote>
<p>Ich sehe keinen Grund, der dagegen spricht.</p>
<blockquote>
<p>Und wenn kein Zeichen mehr drin ist, gibt es jetzt eine unnötige Verzögerung, weil auf das nächste '\n' gewartet wird. So ganz optimal ist das auch noch nicht...</p>
</blockquote>
<p>Versuch's statt dem ignore mal mit einem cin.sync(). Das sollte eigentlich funktionieren.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/258858</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/258858</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Thu, 13 Mar 2003 22:42:00 GMT</pubDate></item><item><title><![CDATA[Reply to cin.rdbuf()-&gt;in_avail() liefert immer 0, warum? on Sun, 16 Mar 2003 09:50:00 GMT]]></title><description><![CDATA[<p>cin.sync()? Was macht das?</p>
]]></description><link>https://www.c-plusplus.net/forum/post/258859</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/258859</guid><dc:creator><![CDATA[Steven]]></dc:creator><pubDate>Sun, 16 Mar 2003 09:50:00 GMT</pubDate></item><item><title><![CDATA[Reply to cin.rdbuf()-&gt;in_avail() liefert immer 0, warum? on Sun, 16 Mar 2003 11:40:00 GMT]]></title><description><![CDATA[<blockquote>
<p>cin.sync()? Was macht das?</p>
</blockquote>
<p>Falls es sich um einen gepufferten Stream handelt ruft sync die Methode pubsync des Puffers auf. Die wiederum ruft die protected sync-Methode des Puffers auf, welche in der MSDN wie folgt charakterisiert wird:</p>
<blockquote>
<p>The protected virtual member function endeavors to synchronize the controlled streams with any associated external streams. Typically, this involves writing out any elements between the beginning and next pointers for the output buffer. It does not involve putting back any elements between the next and end pointers for the input buffer. If the function cannot succeed, it returns -1. The default behavior is to return zero.</p>
</blockquote>
<p>Laut Stroustrup: &quot;Die C++ Programmiersprache 3. Auflage, Seite 690&quot;:</p>
<blockquote>
<p>Ein istream wird durch sync() geflusht...</p>
</blockquote>
<p>Dafür kann ich im Standard allerdings keine Bestätigung finden. Zumindest ist es aber scheinbar das, was unter der Lib des gcc 3.2 passiert.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/258860</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/258860</guid><dc:creator><![CDATA[HumeSikkins]]></dc:creator><pubDate>Sun, 16 Mar 2003 11:40:00 GMT</pubDate></item><item><title><![CDATA[Reply to cin.rdbuf()-&gt;in_avail() liefert immer 0, warum? on Sat, 26 Aug 2006 02:13:00 GMT]]></title><description><![CDATA[<p>Info schrieb:</p>
<blockquote>
<p>Das Problem is meist der Mongo vorm Bildschirm!</p>
</blockquote>
<p>Noe, bei einigen Implementierungen liefert in_avail nur 0.</p>
<p>gruss<br />
v R</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1124775</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1124775</guid><dc:creator><![CDATA[virtuell Realisticer]]></dc:creator><pubDate>Sat, 26 Aug 2006 02:13:00 GMT</pubDate></item></channel></rss>