Estoy intentando leer un rar, el problema es que en la cabecera de los .rar está el hexadecimal 1A y dicho hexadecimal me lo detecta como final de fichero:
#include <cstdlib>
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char *argv[])
{
ifstream Archivo;
string Nombre;
char Leer;
cout<<"Introduzca nombre de archivo: ";
cin>>Nombre;
Archivo.open(Nombre.c_str());
if (Archivo)
{
do
{
Archivo>>Leer;
cout<<"Leyendo el valor: <<Leer<<endl;
} while (Leer != 116 && !Archivo.eof());
if (!Archivo.eof())
cout<<"Conseguido! &c"<<Leer<<endl;
else
cout<<":( te odio"<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}

Justo después del caracter ! está el hexadecimal 1A, y automaticamente me detecta final de fichero y me cierra. Alguna idea para poder acceder al resto del archivo rar?