Ver Mensaje Individual
  #1 (permalink)  
Antiguo 26/01/2013, 04:20
amchacon
 
Fecha de Ingreso: julio-2012
Mensajes: 375
Antigüedad: 12 años, 6 meses
Puntos: 28
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!"

Código C++:
Ver original
  1. bool Rar_File_Mising::ComprobarFormato()
  2. {
  3.     if (!Lectura.is_open())
  4.          throw Excepcion("No hay ningun fichero abierto",ARCHIVO_NO_ABIERTO);
  5.  
  6.     char* Leer = new char[4];
  7.  
  8.     Lectura.read(Leer,4);
  9.    // cout<<"Cosa:"<<Leer[0]<<Leer[1]<<Leer[2]<<Leer[3];
  10.  
  11.     if (strcmp(Leer,"Rar!") == 0)
  12.     {
  13.         delete[] Leer;
  14.  
  15.         return true;
  16.     }
  17.     else
  18.     {
  19.         delete[] Leer;
  20.  
  21.         return false;
  22.     }
  23. }

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