Programación General > C/C++

 Error en lseek()

(1/1)

m0skit0:
Tengo esta porción de código:


--- Código: C ---#include <stdio.h>#define OFFSET_START 0x393158 typedef struct{    unsigned int module_name_pointer;    unsigned short int import_flags;    unsigned short int lib_version;    unsigned short int number_stubs;    unsigned short int stub_size; //(in words)    unsigned int nid_pointer;    unsigned int jump_pointer;} tStubEntry; void parse_bin(FILE* file){    tStubEntry stub_entry;    int cur_offset;     cur_offset = OFFSET_START;        do    {        cur_offset = lseek(file, cur_offset, SEEK_SET);        if(cur_offset < 0)        {            printf("Error 1 at parse_bin()n");            return;        }                    cur_offset += fread(&stub_entry, sizeof(tStubEntry), 1, file);          } while (output_stub(file, &stub_entry));} pero me da error nada más entrar en el bucle while, sale por cur_offset = -1, es decir, que lseek() ha fallado. El fichero que estoy manejando es de 28 MiB, así que ese desplazamiento existe de sobra... ¿Alguien sabe a qué puede deberse esto?

Eternal Idol:
¿Como abriste el archivo? ¿Cual es el error? Podes usar GetLastError tambien supongo.

m0skit0:
Solucionado Eternal Idol, gracias por la respuesta. Simplemente con cambiar el nombre de la variable de "file" a otra cosa funcionó.

Navegación

[0] Índice de Mensajes

Ir a la versión completa