Question about fgetl function

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

 채택된 답변

Walter Roberson
Walter Roberson 2012년 11월 13일

0 개 추천

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.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Large Files and Big Data에 대해 자세히 알아보기

태그

질문:

2012년 11월 13일

Community Treasure Hunt

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

Start Hunting!

Translated by