У меня есть исполняемый файл oo.exe
, который принимает ввод как 1
или 2
, поэтому в командной строке я могу написать
oo 1
oo 2
Я также делаю перенаправление для печати вывода в текстовый файл.
Я делаю то же самое, используя команду system
из MATLAB.
system('oo 1 >> op.txt');
system('oo 1 >> op.txt');
Все отлично работает, кроме случаев, когда происходит сбой .exe. Когда происходит сбой * .exe, скажем, в первой строке, я ожидаю, что текст будет напечатан до точки сбоя в op.txt
, а вторая строка (аргумент 2
) будет работать нормально (при условии отсутствия сбоя для аргумента 2
) ,
Однако этого не происходит, даже когда вторая строка выполняется нормально, ничего не печатается.
Однако, если я делаю то же самое из командной строки в двух последовательных командах, все работает нормально. Я попытался обмануть, написав командный файл test.bat и вызвав его из MATLAB, используя system
, но безрезультатно.
Действительно, когда я запустил этот bat-файл из командной строки, при втором запуске пришло сообщение, что файл op.txt
заблокирован.
Просто скажу вам, что все это происходит только при аварии.
у кого-нибудь есть предложения?