Standalone (compiled) program reading external files

12 次查看(过去 30 天)
Hi,
I currently have a program running in Matlab that uses 'textscan' to read several .csv files located in the same directory as the main program and use the data it obtains from them.
When I export this as a standalone program using the Matlab Compiler I have to include these files within the "shell" of the application. Is there a way getting a compiled program to read files stored within its directory (as the "pre compiled" version did) such that when they are updated with new data the program uses this updated data?
(This is necessary as my end users need access to these csv files but do not have Matlab).
Thanks in advance.
  4 个评论
harry
harry 2014-6-24
filename = 'MASTER.csv';
fid = fopen(filename);
T = textscan(fid, '%s%s%s%s%s%f%f%f%f%f%f','Delimiter',',','headerlines',1,'TreatAsEmpty', '#DIV/0!');
fclose(fid);
harry
harry 2014-6-24
ahh realise those pwd and fullfile were links to help files. (Question still stands though).

请先登录,再进行评论。

采纳的回答

José-Luis
José-Luis 2014-6-24
Maybe something like this:
filename = fullfile('/path/to/files','MASTER.csv');
fid = fopen(filename)
  3 个评论
José-Luis
José-Luis 2014-6-24
编辑:José-Luis 2014-6-24
Please accept the answer that best solves your problem.
direc = pwd
is redundant. You could do:
filename = fullfile(pwd,'MASTER.csv');
But even then, I don't really follow. If the files are in the working directory, you shouldn't need give the full path.

请先登录,再进行评论。

更多回答(1 个)

Titus Edelhofer
Titus Edelhofer 2014-6-24
Hi,
I'm not sure I fully understood the question. If you don't add the MASTER.csv during compilation, and have a call to fopen, then fopen will look in the current folder (which is the folder where the executable is). So if you have in one folder both the .csv and the yourprogram.exe, then everything should be fine ...?
If not, add a line
p = pwd
to find out, "where" you are when running the compiled application.
Titus

类别

Help CenterFile Exchange 中查找有关 MATLAB Compiler 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by