title: Difference in using read/write when stream is opened with/without ios::binary mode
body: <p>In my experiments with the following code snippet, I did not find any particular difference whether i created the streams with/without the ios:binary mode:</p>
  
  <pre><code>int main()
  {
      ifstream ostr("Main.cpp", ios::in | ios::binary | ios::ate);
      if (ostr.is_open())
      {
          int size = ostr.tellg();
          char * memBlock = new char[size + 1];
          ostr.seekg(0, ios::beg);
          ostr.read(memBlock, size);
          memBlock[size] = '\0';
          ofstream file("trip.cpp", ios::out | ios::binary);
          file.write(memBlock, size);
          ostr.close();
      }
  }
  </code></pre>
  
  <p>Here I am trying to copy the original source file into another file with a different name.</p>
  
  <p>My question is what is the difference between the read/write calls(which are associated with binary file IO) when an fstream object is opened with/without ios::binary mode ?
  Is there any advantage of using the binary mode ? when to and when not to use it when doing file IO ?</p>