Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: javier_programing en 14 Septiembre 2015, 19:57 pm



Título: Archivo de texto que almacene bloques en ANSI C
Publicado por: javier_programing en 14 Septiembre 2015, 19:57 pm
Hola buenas, necesito crear un archivo de texto de un tamaño determinado y separar al mismo en bloques cuando le escriba algo menor al tamaño del bloque lo lleno con algo que me permita reconocer lo que escribi. El tema esta ahi en que nose como hacer para "particionar" el archivo. Una vez con estos bloques la idea es hacerme una funcion que al decirle el nro de bloque me de el contenido. La asignacion seria contigua asi que no habria mayor problema, desde ya muchas gracias, cualquier ayuda va a ser de mucha utilidad.


Título: Re: Archivo de texto que almacene bloques en ANSI C
Publicado por: ivancea96 en 15 Septiembre 2015, 14:40 pm
Podrías tener un índice. Te propongo un formato, que te permite tener bloques de tamaños indefinidos:

Código:
<numero de bloques (INT 4 bytes) />
<tamaño del bloque 1(INT 4 bytes) />
<posicion en el archivo del bloque 1 (en bytes) (INT 4 bytes) />
<tamaño del bloque N (INT 4 bytes) />
<posicion en el archivo del bloque N (INT 4 bytes) />
<...>
<bloque 1 />
<bloque n />
<...>

Si los bloques son de, por ejemplo, 256 bytes, puedes hacer:
Código:
<bloque 1>
    <bytes del bloque (CHAR 1 byte) />
    <datos>
</bloque 1>
<bloque 2>
    ...
</bloque 2>

Si no te gustan esos formatos, haz otro que esté acorde a lo que buscas.