need help understanding cin buffer behavior
<p>The code below shows the output as </p>

<blockquote>
<pre><code>enter something
abc
you entered: a
you entered: b
you entered: c
</code></pre>
</blockquote>

<pre><code>  #include "stdafx.h"
    #include &lt;iostream&gt;

    using namespace std;

    int _tmain(int argc, _TCHAR* argv[])
    {
    char c;

    while(cin&gt;&gt;c)
    {
    //Do something  
        cout&lt;&lt;"you entered: "&lt;&lt;c&lt;&lt;"\n";
    }


    return 0;
    }
</code></pre>

<p>why is it not showing only the first character entered? I know I can force it to ignore the cin buffer after first char by using</p>

<p><code>cin.ignore(1,'\n')</code></p>

<p>but shouldnt it only ready one character and ignore the rest?</p>
