пакетный файл — C ++ приложение убивает USB-диск?

Я работал над этим проектом и постараюсь объяснить, что я делаю.

Я буду запускать файл bat из собственного DOS (флэш-накопитель USB DOS Boot), который запускает программу (SHOWDATA.EXE) и выводит некоторые данные из этой программы в текстовый файл. Затем он запустит мое приложение (скомпилированное для DOS16Bit с Open-Watcom), которое изменяет второй исполняемый файл (EDITED.EXE), используя информацию, которая была только что выведена ранее. Затем он должен запустить недавно измененный exe (EDITED.EXE). Мои среды для тестирования были в Virtual Box и с загрузочным диском USB DOS. Пока моя система и программа работают так, как задумано, до тех пор, пока на строке, где я отображаю «Завершено» и хочу запустить только что измененный exe-файл, я не получу

Общий сбой чтения диска C

Прервать, повторить, игнорировать, потерпеть неудачу?

Виртуальная коробка также отображает ошибку записи на диск A (дисковод гибких дисков A)

Если я перезапущу систему, я смогу запустить вновь измененный файл без проблем и получить желаемые результаты.

Есть ли проблема с способом, которым я открываю или редактирую или закрываю свой файл, который вызвал бы такое поведение?

#include <stdio.h>
#include <string.h>

int main(void)

{
FILE * pFile;
char data1[11];
char data2[33];

pFile = fopen ("testfile.exe","r+b");

printf ("PROGAM TITLE TEXT\n");
printf ("2013\n");
printf ("\n");

printf("Enter 10 Digit String from 1st filed above:\n"); //From previous program output
scanf ("%10s",data1);         //only read 10 Chars

printf("Enter 32 Digits from 2nd field above:\n"); //From previous program output
scanf ("%32s",uuid);       //only read 32 Chars

fseek (pFile,24523,SEEK_SET);//file offset location to begin write
fputs (sn,pFile);            //Write our data!

fseek (pFile,24582,SEEK_SET);//file offset location to begin write
fputs (uuid,pFile);          //Write our data!

fseek (pFile,24889,SEEK_SET);//file offset location to begin write
fputs (uuid,pFile);          //Write our data!

fclose(pFile);               //Close our file

printf ("Finished\n");
return(0);
}

Мой файл Bat выглядит следующим образом: я передаю переменную из текстового файла D.txt в SHOWDATA.EXE и записываю вывод в info.txt. Затем я анализирую info.txt с FOR / F для отображения только полезной информации, которая будет использоваться для редактирования второго exe-файла (EDITED.EXE). Затем он запустит отредактированный exe-файл.

TYPE D.txt | SHOWDATA.EXE > Info.txt
PAUSE
MYPROGRAM.EXE
PAUSE
EDITED.EXE

Я в недоумении.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]