How to do a loop in a text file until an empty line is found
20 次查看(过去 30 天)
显示 更早的评论
Hello,
I would like to open an external text file and do a loop that scans all the lines of the text file until an empty line is found. I know how to code what I would like to do, but I am not sure how I can replace my "For" cycle by a "While" cycle. Could someone help?
I thank you in advance,
Best regards,
Hugo
0 个评论
采纳的回答
Cris LaPierre
2020-11-3
编辑:Cris LaPierre
2020-11-3
Look at the example on the documentation page for fgetl. Assuming you are doing this in a loop (for or while, doesn't matter), you can use the break command to stop if the result of fgetl is empty.
0 个评论
更多回答(1 个)
Image Analyst
2020-11-4
Try this:
% Open the file for reading in text mode.
fileID = fopen(fullFileName, 'rt');
% Read the first line of the file.
textLine = fgetl(fileID);
lineCounter = 1;
while ischar(textLine)
% Print out what line we're operating on.
fprintf('%s\n', textLine);
% Read the next line.
textLine = fgetl(fileID);
if length(textLine) == 0
break;
end
lineCounter = lineCounter + 1;
end
% All done reading all lines, so close the file.
fclose(fileID);
You might also want to look at strtrim() to handle lines that have nothing but spaces on them. Not sure if you want to break on a line that was a space or not.
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!