C/Visual C - LEER FICHEROS GRANDES EN C++

 
Vista:

LEER FICHEROS GRANDES EN C++

Publicado por Alberto (1 intervención) el 17/11/2008 19:53:55
Hola a todos.

Tengo un grave problema entre manos. Estoy desarrollando una aliación en la que me es necesario el tratamiento de ficheros binarios de gran tamaño, unos 2Gb por fichero. El tema es que, cada vez que leo de este fichero, normalmente necesito una cantidad bastante pequeña de información, más o menos unos 12Kb por lectura.

Si esta lectura fuera secuencial no habría problema e iría leyendo a "cascoporro" todas la veces. El problema se presenta en que según la apliación, el usuario puede elegir qué dato desea leer, es decir, qué 12Kb de esos 2Gb necesita, y claro, imaginaros que necesita leer la información que está casi al final del fichero.

Mi duda es si hay alguna forma de "navegar" por estos ficheros de una forma eficiente. Siempre voy a leer bloques de 12kb, la cosa es que puede ser al principio, al final o en el medio del fichero. Sería interesante para mí alguna funcionalidad que colocase "el puntero" de lectura en la posisión que deseo para luego leer, sin perder tiempo en lecturas innecesarias.

Espero haberme explicado bien y que alguna alma caritativa pueda echarme un cable con algo que haya probado o alguien al que le haya surgido un problema similar.

Muchas gracias a todos por vuestro tiempo.

Un saludo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder