我正在使用numel逐个读取和处理多个文件。但是当有tline语句时它会barfs。这是我的代码。有人可以帮忙吗?
......
filename = ['20170101.BER' '20170102.BER' '20170103.BER' '20170104.BER'];
for i = 1:numel(filename)
fid = fopen(filename,'rt');
% Read file and find lines with the string 'DATA'
count=0;
got1=[];
got2=[];
while 1
tline = fgetl(fid);
if ~ischar(tline), break, end
count=count+1;
count5=0;
count3=[];
for(t=1:length(tline)-length(str)+1)
count4=0;
for(count2=1:length(str))
......
fclose(fid);
end
答案 0 :(得分:1)
对fgetl
的调用失败,因为fid
不是有效的文件ID。您的主要问题是如何存储和访问filename
。你现在拥有的是1乘N character array。最好将文件名存储在cell array of character arrays中,如下所示:
filename = {'20170101.BER' '20170102.BER' '20170103.BER' '20170104.BER'};
现在这是一个1乘4的单元阵列。循环遍历4个单元格时,必须提取字符数组以打开文件,如下所示:
fid = fopen(filename{i}, 'rt');
只要这些文件在current directory中,它们就可以正常加载。