How to pass filepath to MATLAB executable

11 次查看(过去 30 天)
Hi All,
I have created a executable using the application complier.
The function requires the input file path
function main(filepath)
I am not sure how to pass the file path as an input argument to the executable generated using the about funciton.
I tried
!main 'I:\project\task'
but this is not working.
Suggestions will be really helpful.
  2 个评论
Jan
Jan 2023-2-27
"This is no working" is too lean to explain, what happens. Prefer to mention, what you observe. This helps to solve your problem.
Deepa Maheshvare M.
编辑:Deepa Maheshvare M. 2023-2-27
Sorry about missing out on the error details.
function main(TASK_DIR)
tbl = readtable(fullfile(TASK_DIR,'input.xlsx'));
I see the following error message
>> !main char(task_dir)
ans =
'char(task_dir)'
....read data
Error using readtable (line 318)
Unable to find or open 'char(task_dir)\input.xlsx'. Check the path and filename or file permissions.

请先登录,再进行评论。

采纳的回答

Rik
Rik 2023-2-27
编辑:Rik 2023-2-27
You're using Matlab syntax to define a char vector, but that is something that will happen automatically.
You can experiment with this tester function:
function main(varargin)
for n=1:nargin
fprintf('input number %d has class %s and contains this:\n',n,class(varargin{n}))
disp(varargin{n})
fprintf('\n')
end
end
To avoid syntax error caused by DOS itself you should consider
!main "I:\project\task"
You can test the effect quickly by using ECHO so you get immediate feedback about any syntax issues.
Edit after your comment to Jan:
You probably want this:
[status,response]=dos(['main ' taskdir]);
That will send the char contained in taskdir as the argument to the function main.
  4 个评论
Deepa Maheshvare M.
I had tried the last option which didn't work for me.
The second suggestion works great! Thanks a lot.
Rik
Rik 2023-2-28
Glad you found a solution, happy to help.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 C Shared Library Integration 的更多信息

产品


版本

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by