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
Ir a la versión completa