Matlab加载数据feof(fid)

时间:2014-05-13 15:42:36

标签: matlab skip feof

我正在尝试从文本文件中读取数据。数据只是随机单词的行。 我试图跳过此文件中的空行而不加载它。我使用带有fgetl的循环来加载数据,并使用语句feof(fid)== 0来知道何时到达文件的末尾。我尝试使用isempty来擦除这些线条。但问题是它在空的之后也会跳过这条线。我认为这是循环中的一个问题。 还有另一种表达feof(fid)的方式,以便它发生冲突吗?

while feof(fid)==0 
    randomline=fgetl(fid) 
    if isempty(aline) 
        randomline=fgetl(fid) 
    else 
        %store data 
    end 
end

1 个答案:

答案 0 :(得分:4)

fgetl增加行计数器。在数据检查逻辑中添加对fgetl的另一个调用是它再次递增的原因。

while ~feof(fid) 
    randomline = fgetl(fid) 
    if ~isempty(randomline) 
        % if line is not empty, store the line
    end
end