Проблема со ссылкой на исполняемый файл с использованием функции MATLAB dos

У меня есть довольно простой вопрос, который поставил меня в тупик. Я пытаюсь запустить исполняемый файл, созданный из простой программы C, используя MATLAB в качестве оболочки, т.е. используя следующий код MATLAB:

FileName = ['D:\Users\person\Desktop\MATLAB\GUI','\Program.exe &'];

dos(FileName);

Исполняемый файл правильно запускается, но вылетает с ошибкой:

Debug Assertion Failed!

Program: D:\Users\person\Desktop\MATLAB\GUI\Program.exe

File: f:\\dd\vctools\crt_bld\self_x86\crt\src\fscanf.c

Expression: (stream != NULL)

Программа открывает текстовый файл, считывает входные данные, выполняет математические функции и записывает выходные данные обратно в другой текстовый файл. Я предполагаю, что эта ошибка означает, что есть проблема с чтением из текстового файла, НО - когда я запускаю исполняемый файл сам по себе (т. Е. Двойной щелчок проводника Windows), он выполняется безупречно, как я и ожидал.

Таким образом, только MATLAB указывает на расположение файла, вызывающего сбой. Любые идеи? Спасибо.


person Matlab_novice    schedule 12.05.2011    source источник


Ответы (1)


Похоже, виноваты относительные пути. Команда Matlab запускается из любого каталога, который вы указали в Matlab; cmd запускается от root или что-то в этом роде (мало знаю о Dos). Вот почему это работает, когда вы указываете абсолютные пути. Измените каталог Matlab на корень DOS и посмотрите, работает ли он так, как было изначально закодировано.

Изменить: обратите внимание, что проблема заключается в пути к любому файлу, который Program.exe пытается прочитать, а не в пути к самой Program.exe.

person Matt Phillips    schedule 12.05.2011
comment
Определение OP fileName казалось абсолютным путем... тем не менее, это вполне возможный источник ошибки. - person abcd; 13.05.2011
comment
@yoda Это был путь для программы. Ошибка возникает, когда Program.exe пытается прочитать какой-то другой файл через fscanf. - person Matt Phillips; 13.05.2011
comment
Это была проблема с генерацией моего исполняемого файла C. Исправлено, всем спасибо за участие! - person Matlab_novice; 13.05.2011