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

7 次查看(过去 30 天)
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 个评论
Steven Lord
Steven Lord 2019-2-19
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.

请先登录,再进行评论。

采纳的回答

Adam Danz
Adam Danz 2019-2-19
编辑:Adam Danz 2019-2-19
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')

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 File Operations 的更多信息

标签

产品


版本

R2016a

Community Treasure Hunt

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

Start Hunting!

Translated by