display file function crash

7 visualizzazioni (ultimi 30 giorni)
Yu Liu
Yu Liu il 20 Ott 2019
Commentato: Yu Liu il 22 Ott 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 Commenti
Steven Lord
Steven Lord il 21 Ott 2019
Show us exactly how you call this function. What are you passing into it as input?
Yu Liu
Yu Liu il 22 Ott 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.

Accedi per commentare.

Risposte (1)

Daniel M
Daniel M il 20 Ott 2019
Modificato: Daniel M il 20 Ott 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 Commenti
Yu Liu
Yu Liu il 21 Ott 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 il 21 Ott 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.

Accedi per commentare.

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by