Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Leer archivos binarios

Estas en el tema de Leer archivos binarios en el foro de C/C++ en Foros del Web. HOla que tal, resulta que estoy haciendo un programa para la escuela que simula un sistema de archivos y para no hacer en cuento largo ...
  #1 (permalink)  
Antiguo 25/11/2007, 22:12
 
Fecha de Ingreso: junio-2007
Mensajes: 4
Antigüedad: 16 años, 11 meses
Puntos: 0
Leer archivos binarios

HOla que tal, resulta que estoy haciendo un programa para la escuela que simula un sistema de archivos y para no hacer en cuento largo puedo crear carpetas, borrar, etc, y entre las funciones estan las de exportar e importar archivos del disco duro.
El problema que tengo es el siguiente, hay bloques de datos de 1024 bytes de los cueles 4 son para apuntar al siguiente bloque, si copiio un mp3 por ejemplo se dividiria en bloques(mas o menos 3 para uno de 3 megas), los archivos los estoy leyendo con fopen y se guardan en una estructura. mi problema es que no logro leer por ejemplo los mp3 para guardarlos en mi archivo(el archivo que simula mi disco duro). el chiste al final es que yo importe cualquier archivo, luego lo exporte de nuevo y se siga leyendo a la perfeccion

Los leo con fopen y con rb+ pero no se como guardarlo en la estructura que declare asi:
struct bloque{
char archivo[1020]
long siguiente
}

no se si para para empezar este bien que la estructura sea char para guardar los datos, si no es asi como podria guardar los datos del archivo en una estructura o por lo menos en bloques de 1020 bytes

y segundo por lo que veo en el debuger no creo que se este leyendo bien el archivo ya que como al byte 300 empieza a leer puros fin de cadena.

Entonces como ller un archivo en bloques de n tamano de cualquier tipo(mp3, doc, mpg), y guardarlo en mi archivo que cree previamente para servir de discod duro, si es posible con fopen que es como tengo echo mi proyecyo y es lo que manejo bien, si no es asi para ponerme a leer de otroa intruccion

espero haberme dado a entender

Saludos y gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:23.