Recuperiamo i dati leggendo le informazioni delle lime dall'indice di radice ed allora integriamo la lima al percorso della destinazione e recuperiamo la lima. Il nostro programma seguente effettua le seguenti operazione per recuperare i dati:
- Leggere le entrate di indice della radice e visualizzarle sullo schermo con tutte le informazioni quale il nome indice/della lima, estensione della lima, iniziante il formato della serie di ingranaggi delle lime nei byte.
- Leggere le informazioni degli indici e delle lime nei Subdirectories e visualizzarli a richiesta.
- Confermare il nome di archivio da recuperare e continuare il recupero.
- Calcolare il CHS (cilindro, testa e settore) Info affinchè la lima specificata siano recuperati.
- Integrare i dati della lima dalla zona di dati del disc e conservare la lima recuperata al nome di archivio specificato della destinazione in percorso specificato.
Questo programma non si preoccupa se le informazioni del caricamento del sistema del disco magnetico sono leggibili oppure no. Di conseguenza potete recuperare persino i dati cancellati dal dischetto corrotto anche. Vediamo la codificazione del programma:
/* Il programma per recuperare i dati dal dischetto da Reading archivia le informazioni dall'indice di radice */
#include<stdio.h>
#include<bios.h>
#include<dos.h>
void main()
{
void Display_Information(unsigned int,unsigned int,
unsigned int);
unsigned int track=0,head=1,sector=2;
Display_Information(track,head,sector);
} /*Estremità della conduttura*/
void Display_Information(unsigned int track,
unsigned int head,
unsigned int sector)
{
void recover(unsigned int *,unsigned int);
char buf[512]; // Un amplificatore di 512 byte
char ch;
struct diskinfo_t finfo; //Struttura, usata da _bios_disk
unsigned int result,i,j, count=0; /* I numeri interi Unsigned hanno definito*/
unsigned int file_no; /* Numero intero Unsigned per il numero di lima */
struct
{
unsigned int name[8],ext[3]; /* Nome di archivio per il DOS (otto puntino tre) nella disposizione 8.3 */
unsigned int attribute; // Attributo indice/della lima
unsigned int start; // Iniziare serie di ingranaggi della lima
long unsigned int size; // Formato della lima nei byte
}root[32]; /* Le informazioni di 32 byte della lima/indice nell'indice di radice */
clrscr();
|