title: std::cin.readsome always reading 0 bytes
body: <p>I did a simple test with C++ code and using the helper tool <code>pv</code>(pipe viewer).
  The code is:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;array&gt;
  
  int main() {
      std::array&lt;char,4096&gt; buffer;
      while( true ) {
          std::cin.readsome(buffer.data(),4096);
      }
  }
  </code></pre>
  
  <p>I execute with:</p>
  
  <pre><code>pv /dev/urandom | ./a.out
  </code></pre>
  
  <p>Through <code>pv</code>, I notice that <code>readsome</code> never reads anything. What am I missing?</p>