2014-05-13 23 views
0

我想从文本文件中读取数据。数据只是带有随机单词的行。 即时尝试跳过此文件中的空行,并不加载它。我使用fgetl循环加载数据,并使用语句feof(fid)== 0来知道何时到达文件末尾。我尝试使用ifempty来扫描这些行。但问题是它也会在空行之后跳过行。我认为这是循环内的问题。 有没有另一种方式来表达feof(fid),使其剂量冲突?Matlab的加载数据feof(fid)

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

回答

4

fgetl递增行计数器。在您的数据检查逻辑中添加另一个调用fgetl是为什么它第二次增加。

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