Question about fgetl function
5 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Walter Roberson
2012-11-13
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 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!