Bilden des Bildes der DOS Aufladung Aufzeichnung eines guten Floppy-Discs
Um das Bild der Aufladung Aufzeichnung des frischen Floppy-Discs zu speichern, tut das Programmmuß die folgenden drei Aufgaben:
- Gelesene genau erste 512 Bytes des guten Floppy-Discs
- Auf den erfolgreichen Lesevorgang überprüfen (am wichtigsten)
- Diese 512 Bytes zum spezifizierten Dateiname- und Bestimmungsortweg speichern
Der Sektor des Floppy-Discs ist 512 Bytes und es ist notwendig, das genaue Bild des Sektors zu kopieren. Es ist wichtigster und notwendigster Schritt im Falle der irgendeiner Art Betriebe, die auf Floppy-Disc an der überprüfung angewendet werden, ob der Betrieb oder nicht erfolgreich war.
Es kann jedes mögliches Initialisierung Problem sogar mit der guten und frischen Diskette geben. Das ist, warum in die meisten Fällen, wenn der Betrieb an den Disketten durchgeführt wird, zuerst aller Initialisierung der Disketten in der Programmierung mit durchgeführt wird Scheibe Betrieb (Funktion 00 H zurückstellen INTERNEN 13H).
Wenn sogar nach Initialisierung die vor kurzem eingesetzte Diskette oder die ausgewechselte Diskette irgendwelche verursacht Lesefehler du wirst geraten, das Programm wieder laufen zu lassen, vermutlich es kannst dieses mal bearbeiten.
Das folgende Programm ist, diese spezifizierten Aufgaben durchzuführen. Uns sehen lassen, wie es fortfährt:
/* Das Aufladung Bild zu einer Akte von einer frischen Diskette speichern*/
#include <bios.h>
#include <stdio.h>
int main(void)
{
struct diskinfo_t dinfo;
union REGS regs;
int result;
int count=0, i;
char fname[80];
static char dbuf[512];
FILE *fp;
dinfo.drive = 0x00; /* Laufwerknummer für A: */
dinfo.head = 0; /* Scheibe Spurnummer */
dinfo.track = 0; /*Schiene Zahl */
dinfo.sector = 1; /* Sektorzahl */
dinfo.nsectors = 1; /*Sektoranzahl */
dinfo.buffer = dbuf; /* Datenpuffer */
clrscr();
gotoxy(10,3);cprintf("Den Dateinamen und den Weg betreten, um Aufladung Bild zu speichern");
gotoxy(5,5);
gets(fname);
fp=fopen(fname,"wb");
if((fp=fopen(fname,"wb"))==NULL)
{
highvideo();
gotoxy(10,10);cprintf("Akte konnte nicht hergestellt werden");
getch();
exit(0);
}
|