C/Visual C - Llenar una estructura con un bloque de memoria

 
Vista:

Llenar una estructura con un bloque de memoria

Publicado por Agustin (5 intervenciones) el 01/02/2005 14:36:42
Hola gente, la pregunta es bastante simple.
Para hacer un trabajo final para la facu tengo que trabajar diversas partes del disco y para laburarlas mas comodo las quiero poner en estructuras (x ej la fat, el bootSector, etc). todo en linux.
La pregunta es esta. Cuando leo una parte del disco con read lleno un buffer de memoria como hago para llenar con esto a la estructura? hasta ahora estaba usando funciones en assembly que las llenaban, pero me parece excesivo.
Muchas Graciassssss

Agus

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

Me respondo solo

Publicado por Agustin (5 intervenciones) el 01/02/2005 17:05:40
Me respondo solo, tendria que haber buscado mejor antes de preguntar, perdon

"Algunas aplicaciones implican el uso de archivos para almacenar bloques de datos, donde cada bloque consiste en un número fijo de bytes contiguos. Cada bloque representará generalmente una estructura de datos compleja, como una struct o un array. Para estas aplicaciones sería deseable leer o escribir el bloque entero del archivo de datos en vez de leer o escribir separadamente las componentes individuales de cada bloque.
Las funciones fread y fwrite deben usarse en estas situaciones. A estas funciones se las conoce como funciones de lectura y escritura sin formato. Igualmente se hace referencia a estos archivos de datos como archivos de datos sin formato.
Cada una de estas funciones necesita cuatro argumentos:

- la dirección del bloque de datos
- el tamaño del bloque de datos
- el número de bloques a transferir
- el puntero a un archivo secuencial

Ejemplo: fwrite(&cliente, sizeof(registro), 1, ptvar);
fread(&cliente, sizeof(registro), 1, ptvar);

donde cliente es una variable estructura de tipo registro y ptvar un puntero a archivo secuencial.\"
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar