Why not just be platform-agnostic about it?
Fixed (mostly):

Code:
bool copyfile(const std::string & source, const std::string & dest)
{
   std::ifstream in(source.c_str(), std::ios::binary | std::ios::in);
   if(!in)
   {
      return(false);
   }
   std::ofstream out(dest.c_str(), std::ios::binary | std::ios::out);
   if(!out)
   {
      return(false);
   }
   in.exceptions(std::ios::badbit);
   out.exceptions(std::ios::badbit);
   in >> std::noskipws;
   std::copy(std::istream_iterator<unsigned char>(in), std::istream_iterator<unsigned char>(), std::ostream_iterator<unsigned char>(out));
   return(true);
}
Soma