title: ifstream does not completely read whole data
body: <p>I'm trying to read a file block by block. Blocksize is 64Byte. But some bytes are left.</p>
  
  <p>Example: I have a 360 Byte file and read the data in 64byte blocks, so I need 6 times a 64 byteblock to get all data.</p>
  
  <pre><code>typedef unsigned char uint1;
  
  ifstream is(path.c_str(), ifstream::in | ifstream::binary);
  uint1 data[64];
  int i = 0;
  
  while (is.read((char*)data, 64)) {        
      i++;
  }
  
  cout &lt;&lt; i &lt;&lt; endl;
  </code></pre>
  
  <p>But I only get 5 times a completely filled 64-Byte Block. How to get the remaining Bytes??</p>