Anmerkungen zur Programmkodierung:
In der Kodierung des Programms, ist jeder Schritt selbe wie im vorhergehenden Programm ausgenommen den Datenpuffer dbuf2 [512], dem wir, die Störung anzufassen pflegen, die durch schlechten Sektor während des Scheibe Lesevorganges und die Größe der Bildakte beizubehalten erzeugt wird.
Indem wir dies tun, füllen wir den Raum der Informationen, die wir von lesen nicht konnten schlechter Sektor und jetzt sind wir Schreiben der Pseudoinformationen von 512 Bytes, damit wir die Genauigkeit des Scheibe Bildes beibehalten können.
Die Daten von der Akte zur körperlichen Oberfläche des frischen Floppy-Discs kleben:
In diesem Schritt kleben wir die Daten, die in der Akte durch das vorhergehende Programm, zur körperlichen Oberfläche des frischen Floppy-Discs, Sektor durch Sektor in der gleichen Weise gespeichert werden, durch die wir sie zur Akte kopierten.
Das Programm fährt mit den folgenden Hauptschritten fort:
- Die Akte öffnen, in der wir die Oberflächendaten des unlesbaren Floppy-Discs vorübergehend speicherten.
- Das Plattensystem durch die zurückstellende Funktion 00H INTERNEN 13H richtig initialisieren.
- Die Informationen auf die Sektoren des frischen Floppy-Discs von der Akte schreiben.
- Den schreibenstatus zur Entdeckung gleichzeitig anzeigen oder das Auftreten von Störungen vermeiden.
Das ProgrammQuellenprogramm ist unten gegeben worden. Uns überprüfen lassen, wie es funktioniert:
/* Programm, zum der Daten auf die Sektoren der Oberfläche des frischen Floppy-Discs von der Akte zu schreiben, verursacht durch das vorhergehende Programm */
#include <bios.h>
#include <stdio.h>
void main(void)
{
int head,track;
union REGS regs;
int result,i,sector;
int count =0;
char filename[80];
struct diskinfo_t dinfo;
static char dbuf[512];
FILE *fp;
clrscr();
printf("\n Den Namen der Akte mit Weg eintragen, um die Daten vorübergehend zu speichern\n");
gets(filename);
if((fp=fopen(filename,"rb"))==NULL)
{
printf("Konnte die Akte herstellen, betätigt keinen Schlüssel, um HERAUSZUNEHMEN");
getch();
exit(1);
}
|