Question about fgetl function

5 vues (au cours des 30 derniers jours)
Diego
Diego le 13 Nov 2012
Dear all,
I'm learning to use fgetl and had followed the example that appears in the documentation:
fid = fopen('SomeFile.xxx');
tline = fgetl(fid);
while ischar(tline)
disp(tline)
tline = fgetl(fid);
end
fclose(fid);
The example works great, but I don't understand why I have to declare the tline again inside the loop.
If I don't do that it keeps looping for ever!
Can somebody explain me the reason?
Thanks,
Diego

Réponse acceptée

Walter Roberson
Walter Roberson le 13 Nov 2012
When you use tline = fgetl(fid) before the loop, that does not define tline to be an active function that returns the next line every time it is referenced. Instead, that statement reads a line once and assigns the line to tline as a string. In order to advance to the next line, you need to call fgetl() again. tline = fgetl(fid) is not a declaration: it is an assignment in which a current value is saved to a variable; in order to update the value, the function fgetl() needs to be called again.
  1 commentaire
Diego
Diego le 13 Nov 2012
Thank you Walter.
Regards,
Diego

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Large Files and Big Data dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by