MATLAB: How to fopen files in different directory

fidfopenfullfilereading files in another directory

How can I fopen files that are in a different directory than current directory, fopen always returns -1.

Best Answer

Do NOT follow advice of just adding more directories to the Search Path: this just pointlessly slows MATLAB down (MATLAB has to keep track of all of the files in all folders on the Search Path). In general you should NOT add data folders to the search path, because all MATLAB functions that import/export data files accept relative or absolute filenames, and this is much more efficient than bloating the Search Path. For example:
D = 'E:\mails spamnon\non spam';
S = dir(fullfile(D,'*.*'));
for k = 1:numel(S)
F = fullfile(D,S(k).name);
fid = fopen(F);
...
fclose(fid);
end