Script to read, error check till user enters a valid file name that can be opened, then print out file name and close file.

8 views (last 30 days)
I am having the hardest trouble on the loop error-checking part that keeps checking still the user enters a valid filename that can be opened.
This is what I have so far:
% prompt user for name to be read and open
file = input('PLEASE INPUT FILE NAME TO BE READ:','s');
fopen(file,'r');
% loop error-check until valid filename can be opened
% print file name and close file
while fopen(file)~=0
fpirnt('FILE OPENED IS: %s\n',file);
fclose(file);
else
fprintf('PLEASE INPUT A VALID FILE NAME!\n','s');
file = input('PLEASE INPUT FILE NAME TO BE READ:','s');
end
what is going wrong?
Thank you!

Accepted Answer

Walter Roberson
Walter Roberson on 25 Oct 2013
'while' does not permit an 'else', so you have a syntax error.
You cannot close a file by name, only by file identifier.
Hint: "break"
  1 Comment
Nora
Nora on 25 Oct 2013
% prompt user for name to be read and open file = input('PLEASE INPUT FILE NAME TO BE READ:','s'); fopen(file,'r'); % loop error-check until valid filename can be opened % print file name and close file if fopen(file)~=0 fpirnt('FILE OPENED IS: %s\n',file); fclose(file); else fprintf('PLEASE INPUT A VALID FILE NAME!\n','s'); file = input('PLEASE INPUT FILE NAME TO BE READ:','s'); end
I still get the problem if I use and if-loop. But I don't know how to do the other parts:

Sign in to comment.

More Answers (0)

Categories

Find more on Programming Utilities 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!