elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  ¿ftell da problemas con algunos archivos?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: ¿ftell da problemas con algunos archivos?  (Leído 2,113 veces)
do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
¿ftell da problemas con algunos archivos?
« en: 17 Abril 2012, 14:17 pm »

¡Buenas!

Tratando de leer el tamaño en bytes de unos ficheros iso, me he econtrado con un par de casos en los que obtengo como tamaño incorrecto del fichero 0xFFFFFFFF bytes (lo que es lo mismo (unsigned long) (-1)). Viendo la referencia de cplusplus.com, me dice que cuando hay algun error por parte de ftell, este es el valor devuelto, pero una llamada a perror me dice que no hay ningun error. Los archivos en si son dos imagenes iso de windows 7 (versiones de 32 y 64 bits), descargadas de MSDNAA (una especie de acuerdo entre microsoft e institutos para regalar software). Con el resto de ficheros no tengo ningun problema.

Aqui el primer codigo:
Código
  1. unsigned long flen(FILE *f)
  2. {
  3.    unsigned long len, pos;
  4.  
  5.    pos = ftell(f);
  6.  
  7.    fseek(f,0,SEEK_END);
  8.  
  9.    len = ftell(f);
  10.  
  11.    fseek(f,pos,SEEK_SET);
  12.  
  13.    return len;
  14. }
  15.  

Y aqui otro, para linea de comandos,  que cree por si tenia algun error que no habia visto, pero que me da los mismos resultados:
Código
  1. #include <stdio.h>
  2.  
  3. int main(int argc, char *argv[])
  4. {
  5.    if(argc < 2)
  6.    {
  7.        printf("%s fic1 [fic2 ... ficN]",argv[0]);
  8.        return 1;
  9.    }
  10.    else
  11.    {
  12.        FILE *f;
  13.  
  14.        while(--argc)
  15.        {
  16.            if(!(f = fopen(argv[argc],"rb")))
  17.                fprintf(stderr,"No se puede abrir %s\n",argv[argc]);
  18.            else
  19.            {
  20.                fseek(f,0,SEEK_END);
  21.  
  22.                if(ftell(f) == -1UL)
  23.                    perror(argv[argc]);
  24.                else
  25.                    fprintf(stdout,"%10lu %s\n",ftell(f),argv[argc]);
  26.  
  27.                fclose(f);
  28.            }
  29.        }
  30.    }
  31.  
  32.    return 0;
  33. }
  34.  

Si veis la razon de que me devuelva una longitud falsa, o si sabeis que pasa con este tipo de isos y ftell, avisad, por favor.

¡Saludos!


« Última modificación: 17 Abril 2012, 14:18 pm por do-while » En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
x64core


Desconectado Desconectado

Mensajes: 1.908


Ver Perfil
Re: ¿ftell da problemas con algunos archivos?
« Respuesta #1 en: 17 Abril 2012, 18:28 pm »

A mi si me funciono flen function : P
el archivo lo tenia en una ruta sin requerimiento de privilegios


En línea

do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: ¿ftell da problemas con algunos archivos?
« Respuesta #2 en: 18 Abril 2012, 16:58 pm »

¡Buenas!

Pues no se que es lo que pasa... El problema solo lo tengo con esos dos ficheros. Aunque los cambie de directorio sigue sucediendome lo mismo. A ver si encuentro algo por ahi y os comento que pasa.

¡Saludos!
En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
No puedo escuchar algunos archivos con extensión .wav
Multimedia
[@] 3 3,948 Último mensaje 16 Febrero 2005, 22:28 pm
por [@]
No puedo ejecutar algunos archivos .exe porque me lo bloquearon
Hacking
bugadaltog 9 11,323 Último mensaje 4 Diciembre 2009, 17:13 pm
por bugadaltog
Como formatear mi PC sin borrar algunos programar y archivos ? « 1 2 »
Windows
Pr0xyH4ck 11 17,318 Último mensaje 1 Marzo 2012, 01:12 am
por dato000
Ayuda fseek ó ftell
Programación C/C++
estivinho 1 2,388 Último mensaje 25 Octubre 2012, 13:20 pm
por ecfisa
por que en algunos archivos de encabezados crean clases imcompletas
Programación C/C++
grucho 3 2,445 Último mensaje 1 Noviembre 2017, 04:25 am
por CalgaryCorpus
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines