Problema con EOF (C++)

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;
}


Imagen

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?
0 respuestas