#include <iostream>
#include <fstream>
using namespace std;
int main ()
{
int temp;
setlocale (LC_ALL, "Russian");
char buf1;
ifstream in ("1.txt", ios::in|ios::binary);
ofstream out ("2.txt", ios::out|ios::binary);
if (!in)
{
cout << "Fail open 1 fail";
abort ();
}
if (!out)
{
cout << "Fail open 2 fail";
abort ();
}
in.seekg (0,ios::end); //получаем размер входящего файла для создания цикла
temp = in.tellg ();
in.seekg (ios::end); //устанавливаем указатель для считывания входящего файла с конца
out.seekp (ios::beg); // устанавливаем указатель для записи считанного байта в файл №2
for (int i=0; i < temp; i++) //запускаем цикл считывания и записи.
{
in.get (buf1);
out.put (buf1);
in.seekg (-1, ios::cur); //устанавливаем указатель входящего файла на -1 байт от текущего положения (текущее должно быть конец входящего файла)
}
return 0;
}
in.seekg (ios::end);
in.seekg (-1, ios::cur);
std::vector<char> cts;
in.seekg(0, in.end);
cts.resize(in.tellg());
in.seekg(0, in.beg);
in.read(&ctr[0], ctr.size());
std::ostream_iterator<char> out_it(out);
std::copy(cts.rbegin(), cts.rend(), out);