Comentarios sobre la codificación:
La función Display_Information es leer la información del archivo y del directorio y del directorio de raíz. En la estructura estamos leyendo la información de 32 octetos para cada archivo o el directorio con la raíz [32].
El nombre de los órdenes del entero sin signo [8] y la extensión [3] están para el nombre del archivo o de directorio para el DOS en (ocho puntean tres) el formato 8.3. Semejantemente un octeto está para la cualidad y dos octetos para comenzar el racimo. tamaño interno sin firmar largo; es almacenar el tamaño del archivo de cuatro octetos.
La función del _bios_disk lee el sector, especificado por el finfo de la estructura y el estado de la operación se almacena en resultado.
En la cada información de 512 octetos leer por la función del _bios_disk, hasta los extremos del área del directorio de raíz, recogemos la información de los archivos y de los directorios almacenados en el disco y los exhibimos en la pantalla.
El file_no del número entero es almacenes el número del archivo o del directorio en la lista, a partir de 0. El tamaño del directorio de raíz está generalmente de 14 sectores y el directorio de raíz empieza generalmente con el cilindro =0, la cabeza = 0 y el sector =2 en caso de 1.44MB y de diskette de 3 ½.
Si el usuario da a carácter el `M' o el `m' como entrada, la información del sector siguiente se exhibe si la opción del usuario es el `R' o se llama el `r' las funciones de la recuperación. La codificación de la función se recupera () se ha dado abajo:
/* Función para comenzar la recuperación para el archivo especificado */
void recover(unsigned int *root,unsigned int len)
{
void clear_the_line(unsigned int r); /* Función para despejar una fila en la pantalla */
/* Función para integrar el archivo especificado */
void integrate(long unsigned int,unsigned int,
unsigned int,unsigned int);
unsigned int file_no,i;
char ch;
unsigned int *loc;
unsigned int cylinder,head,sector;
unsigned int start;
long unsigned int size;
clear_the_line(21); /* Despejar la fila número 21 */
clear_the_line(22); /* Despejar la fila número 22 */
clear_the_line(23); /* Despejar la fila número 23 */
clear_the_line(24); /* Despejar la fila número 24 */
gotoxy(10,21);
cprintf("Incorporar FNO. del archivo deseas recuperarse");
scanf("%u",&file_no); /* Conseguir el archivo no para ser recuperado */
loc=(root+(len*file_no/2));
|