Anuncios Google

Error al comparar cadenas

Necesito comprobar si un determinado archivo es un rar, lo que hago es comprobar si tiene la firma que tiene todo archivo Rar: "Rar!"

 

bool Rar_File_Mising::ComprobarFormato()
{
    if (!Lectura)
         throw Excepcion("No  hay ningun fichero abierto",ARCHIVO_NO_ABIERTO);
 
    char* Leer = new char[4];
 
    Lectura.read(Leer,4);
   // cout<<"Cosa:"<<Leer[0]<<Leer[1]<<Leer[2]<<Leer[3];
 
    if (strcmp(Leer,"Rar!") == 0)
    {
        delete[] Leer;
 
        return true;
    }
    else
    {
        delete[] Leer;
 
        return false;
    }
}

 

El problema esque cuando abro un archivo real. Siempre me lo detecta como falso, es como si no quisiera leer >_>


Anuncios Google

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Solucionado, solo tenía que

Solucionado, solo tenía que añadirle el caracter '\0' a la cadena para que stcmpr funcionase correctamente ^^

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.