Osservazioni su codificazione:
La funzione Display_Information è leggere le informazioni dell'indice e della lima e dall'indice di radice. Nella struttura stiamo leggendo le informazioni di 32 byte per ogni lima o l'indice con la radice [32].
Il nome di allineamenti di numero intero unsigned [8] e l'interno [3] sono per il nome di indice o della lima per il DOS (otto punteggiano tre) nella disposizione 8.3. Similmente un byte è per l'attributo e due byte per iniziare la serie di ingranaggi. formato interno unsigned lungo; è immagazzinare il formato della lima di quattro byte.
La funzione del _bios_disk legge il settore, specificato dal finfo della struttura e la condizione del funzionamento è memorizzata nel risultato.
Dalle ogni informazioni di 512 byte leggere dalla funzione del _bios_disk, lavorare alle estremità di zona dell'indice di radice, raccogliamo le informazioni delle lime e degli indici immagazzinati nel disc e li visualizziamo sullo schermo.
Il file_no di numero intero è depositi il numero della lima o dell'indice nella lista, a partire da 0. Il formato dell'indice di radice è generalmente di 14 settori e l'indice di radice comincia generalmente dal cilindro =0, dalla testa = 0 e dal settore =2 nel caso di 1.44MB e di un dischetto dei 3 ½.
Se l'utente dà al carattere il `m.' o il `m.' come input, le informazioni del settore seguente sono visualizzate se la scelta dall'utente è `R' o il `r' le funzioni di recupero è denominato. La codificazione della funzione recupera () è stata data qui sotto:
/* Funzione per iniziare recupero per la lima specificata */
void recover(unsigned int *root,unsigned int len)
{
void clear_the_line(unsigned int r); /* Funzione per eliminare una fila sullo schermo */
/* Funzione per integrare la lima specificata */
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); /* Eliminare la fila il numero 21*/
clear_the_line(22); /* Eliminare la fila il numero 22*/
clear_the_line(23); /*Eliminare la fila il numero 23*/
clear_the_line(24); /* Eliminare la fila il numero 24 */
gotoxy(10,21);
cprintf("Entrare in FNO. della lima desiderate recuperare");
scanf("%u",&file_no); /* Convincere la lima no per essere recuperato*/
loc=(root+(len*file_no/2));
|