Closed LuisFros closed 5 years ago
Hola Luis, No estoy seguro si entiendo bien tu consulta.
¿Esto es para manipular los contenidos del simdisk.bin
, y por eso lo abres como rb+
?
Por ejemplo, si intentas leer 1 byte, y luego escribes 1 byte, ¿en qué parte del archivo se hace la escritura?
Hola, Perdon por la confusa redaccion,
r+b
lo utilizo para modificar los contenidos del simdisk.bin
.IO_write_ptr
se moviera a la posicion indicada for fseek() y que se escribiera en la posicion 7 que deseaba.La verdad es que no entiendo porque fue necesario hacer esto para que funcione.
Segun entiendo viendo el codigo fuente de la estructura FILE, tiene los siguientes punteros que son claves para su funcionamiento:
Cuandro abro un archivo binario en modo "r+b", que es el modo de escritura y lectura , pierdo referencia de mi puntero al escribir. Fijandome en el puntero del disco, los valores de
IO_write_ptr
yIO_read_ptr
son distintos. Esto es porque estoy utilizandofread()
y se mueve el puntero de lectura. Al momento de escribir confwrite()
, el punteroIO_write_ptr
esta en una posicion distinta y no logro escribir donde quiero. En este caso como debo manejar el puntero con fseek() , fread() y fwrite() para evitar este problema? Que efecto tienefseek()
sobre los punteros de lectura y escritura?