我有一个相当简单的问题让我陷入困境。我正在尝试使用MATLAB作为shell运行从简单的C程序构建的可执行文件,即使用以下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指向导致崩溃的文件位置。有任何想法吗?谢谢。
答案 0 :(得分:0)
听起来相对路径是罪魁祸首。 Matlab命令从您在Matlab中指定的任何目录运行; cmd从root或类似的东西运行(不太了解Dos)。这就是为什么它指定绝对路径时的工作原理。将您的Matlab目录更改为DOS根目录,并查看它是否按原始编码工作。
编辑:请注意,它是Program.exe尝试读取的任何文件的路径,这是问题,而不是Program.exe本身的路径。