Empâtage de l'image d'initialisation au premier secteur du disque souple illisible
Pour coller l'image d'initialisation à partir du dossier au premier secteur du disque souple illisible nous devons exécuter les trois suivants que la force charge dans notre programme :
- Lire l'information exacte de 512 bytes du disque d'initialisation du disque souple frais à partir du dossier précédemment sauvé.
- Écrire cette information au premier secteur du disque souple qui est actuellement illisible.
- Vérifier l'accomplissement réussi de écrivent l'opération (la plus importante).
Car le secteur du disque souple est de 512 bytes et il est nécessaire de coller l'exact initialisent l'image au secteur. C'est l'étape la plus importante et la plus nécessaire en cas de n'importe quel type d'opérations appliquées sur le disque souple au contrôle, que l'opération ait été réussie ou pas.
Il peut y avoir n'importe quel problème d'initialisation avec la disquette pendant l'opération donc que vous devez initialiser le disque en remettant à zéro le système de disque (employant fonction 00H de 13H INTERNE).
Si même après l'initialisation la disquette récemment insérée ou la disquette changée cause n'importe quelle erreur de lecture que vous êtes conseillés d'exécuter le programme encore, il peut fonctionner le plus probablement cette fois.
Le programme suivant est d'exécuter ces derniers indiqué charge. Voyons comment il procède :
/* Image d'initialisation de charge au disque souple illisible */
#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];
char dbuf[512];
FILE *fp;
clrscr();
gotoxy(5,3);cprintf("Entrer dans le nom de fichier et le chemin, dans lesquels l'image d'initialisation du disque souple est stockée");
gotoxy(5,5);
gets(fname);
fp=fopen(fname,"rb");
if((fp=fopen(fname,"rb"))==NULL)
{
highvideo();
gotoxy(10,10);cprintf("Le dossier n'a pas pu être ouvert");
getch();
exit(0);
}
gotoxy(10,9);
cprintf("Essayer de récupérer l'unité de disquettes :\n");
|