title: Actual difference between end of line and end of file under windows?
body: <p>I understand EOF and EOL but when I was reading <a href="http://answers.yahoo.com/question/index;_ylv=3?qid=20110416085509AAPnEqL" rel="nofollow">this question </a> (second part of answer) and i got my concepts broken :
  Specially the para : </p>
  
  <blockquote>
    <p>It won't stop taking input until it finds the end of file(<strong>cin uses
    stdin, which is treated very much like a file</strong>)</p>
  </blockquote>
  
  <p>so i want to know when we do some thing like in c++ under windows :
  <code>std::cin&gt;&gt;int_var;</code> , and we press enter , this end the input but according to reference link it should only stop taking input after hitting <code>ctrl+z</code>.</p>
  
  <p>So i would love to know how <code>std::*stream</code> deal with EOF and EOL.</p>
  
  <p>Second part:
  please have a look at this example :</p>
  
  <blockquote>
  <pre><code>std::cin.getline(char_array_of_size_256 ,256);
  cin.ignore(std::numeric_limits&lt;std::streamsize&gt;::max(), '\n');
  cout &lt;&lt; "artist is " &lt;&lt; artist &lt;&lt; endl;
  </code></pre>
  </blockquote>
  
  <p>If i remove <code>std::cin.ignore()</code> it simply stops taking input (which is known case) but when i keep it , it waits for a new input which is ended by <code>'\n'</code> . But it should simply clear up stream rather then waiting for any new input ending-up with '\n'.</p>
  
  <p>Thanks for giving you time)</p>