Question about fgetl function
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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 comentarios
Respuesta aceptada
Walter Roberson
el 13 de Nov. de 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.
Más respuestas (0)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!