display file function crash

1 view (last 30 days)
Yu Liu
Yu Liu on 20 Oct 2019
Commented: Yu Liu on 22 Oct 2019
%I want to display a file and according to the book, I wrote the display file function like below, but it always showed that 'something wrong happen'. I have no idea which I part I did the wrong programming.%
function DisplayFile(filename)
try
fid=fopen(filename);
if fid == -1
disp(sprintf('Unable to open file ''%s'' ',filename));
else
while ~feof(fid)
tline = fget1(fid);
disp(tline);
end
fclose(fid);
end
catch
fclose(fid);
disp('Something wrong happened');
end
  2 Comments
Steven Lord
Steven Lord on 21 Oct 2019
Show us exactly how you call this function. What are you passing into it as input?
Yu Liu
Yu Liu on 22 Oct 2019
Hello Steven, the function reads a text file and displays it on the command window. The input is the name of an existing file.

Sign in to comment.

Answers (1)

Daniel M
Daniel M on 20 Oct 2019
Edited: Daniel M on 20 Oct 2019
try
% some code here
x = 1:5;
for n = 0:4
y = x(n); % can't access x at position zero!
end
catch ex
% some code to handle it
errorlog = n;
rethrow(ex) % throw the error to view message
end
  2 Comments
Yu Liu
Yu Liu on 21 Oct 2019
Hi Daniel, Thanks for your answer! I tried the codes and it returned 'Subscript indices must either be real positive integers or logicals'. I still have no idea which part goes wrong. Do you have any idea about it?
Daniel M
Daniel M on 21 Oct 2019
If you run the above code in a script the error it throws should be:
Array indices must be positive integers or logical values.
Error in untitled27 (line 5)
y = x(n); % can't access x at position zero!
This tells you exactly what part goes wrong and where.

Sign in to comment.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!