Error using exist "The optional second input to exist must be 'var', 'builtin','class', 'dir' or 'file' "

1 view (last 30 days)
I don't understand why the following code doesn't work
for k = 1:4
% Create a text file name, and read the file.
textFileName = ['A' num2str(k) '.txt'];
if exist(textFileName, 'A')
fid = fopen(textFileName, 'rt');
mydata = fread(fid);
fclose(fid);
else
fprintf('File %s does not exist.\n', textFileName);
end
end
  1 Comment
Steven Lord
Steven Lord on 19 Feb 2019
What do you think this does or want it to do?
if exist(textFileName, 'A')
You expect this if condition to be satisfied if ... ?
Once we know that we may be able to help you write the correct command.

Sign in to comment.

Accepted Answer

Adam Danz
Adam Danz on 19 Feb 2019
Edited: Adam Danz on 19 Feb 2019
It looks like you're checking the existance of a certain file named something like "A1.txt" on the matlab path prior to reading that file. The exist() function has 1 mandatory input and 1 optional input. The optional input allows you to specify the type of result to search for. If you're searching for a file, one of those option for the 2nd input is 'file'.
The correct way to search for the existance of that file on the matlab path is:
if exist(textFileName, 'file')

More Answers (0)

Categories

Find more on File Operations in Help Center and File Exchange

Tags

Products


Release

R2016a

Community Treasure Hunt

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

Start Hunting!