Error: Undefined function or variable 'fgetl' when fgetl() is placed inside an else statement
Afficher commentaires plus anciens
Hi, I'm writing a simple script to read a .csv file. I get the error:
Undefined function or variable 'fgetl'.
Error in (filename) (line 36)
line = fgetl(fid);"
It's strange because the call to fgetl() outside the if statement works fine!
if(~exist(file_in))
FInputErrMsg = 'not located in working directory.';
Suggestion = ['Change script parameter or move the file into script'...
' working directory.'];
error('Expected input file: "%s" %s\n%s',file_in,FInputErrMsg,Suggestion);
elseif(exist(file_out))
% TODO#1
end
% Open file_in1 to count the number of sites N
fid = fopen(file_in,'r');
line = fgetl(fid);
if(fid == -1)
error('Error opening %s. Exiting.', file_in);
else
line = fget1(fid); %<---------------------- Offending Line
end
fclose(fid);
Réponse acceptée
Plus de réponses (1)
dpb
le 16 Juil 2017
fid = fopen(file_in,'r');
line = fgetl(fid);
if(fid == -1)
error('Error opening %s. Exiting.', file_in);
...
You've got the test for successful fopen out of order; that should be before you try to use it; then the fgetl call doesn't need to be inside the if construct at all. Then, it appears your fopen did fail so you called fgetl(-1) which then looks like an array reference instead of a function call since -1 isn't a valid file handle.
fid = fopen(file_in,'r');
if(fid<0), error('Error opening %s. Exiting.', file_in); end
line = fget1(fid);
fclose(fid);
...
Catégories
En savoir plus sur Workspace Variables and MAT Files dans Centre d'aide et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!