Closed movaldivia closed 5 years ago
¡Hola!
Sí. Piensa que ninguno de los métodos recibe la ruta del archivo binario, por ende, necesitas establecer esta misma con una variable global. Ahí cobra importancia el método cr_mount
.
Ojo eso sí que la ruta debe ser pasada como parámetro en el programa, no debe ser hardcodeada (a pesar de que en el ejemplo del enunciado salga así... eso era para ilustrar).
¡Éxito! :)
@Geeermy Gracias !!
Hola: @Geeermy aunque sea tonto preguntar, puedes dar un ejemplo acerca de esto: "Ojo eso sí que la ruta debe ser pasada como parámetro en el programa, no debe ser hardcodeada (a pesar de que en el ejemplo del enunciado salga así... eso era para ilustrar)." Saludos.
¡No te preocupes!
Básicamente, esperamos que ustedes hagan algo como esto:
Dentro del main.c
int main(...){
...
cr_mount(path_to_disk);
...
}
Al ejecutar el programa por consola
> ./crfs path_to_disk
Ese path_to_disk
que ingresas como argumento del programa ejecutable es el que usas para montar el disco con cr_mount
. ¿Se entiende?
Hola! @Geeermy me surge una duda, que es lo que debe ser seteado a global? un string con la ruta del .bin? para que luego cada función use fopen(path_global)? (y que hagan fclose) o debe abrir un archivo y este dejarlo global? para que después cada función solo use el FILE global en vez de estar abriendo y cerrando por cada función? es decir tener un "FILE archivo_global;" en vez de un "char* path_global;" (y cerrar el file una sola vez al final del main)
¡Hola @Calomi !
Lo primero. Lo segundo implicaría tener el disco siempre en memoria y eso es costoso. Además, recuerda que es necesario cambiar constantemente el contenido del disco. Si estableces el FILE
como global, los cambios se verán reflejados solo al final.
¡Que estés bien!
Hola,
Me imagino que esta función sirve para
char * diskname; main{.... cr_mount("/tarea") .....}
Tendría como resultado diskname = "/tarea"