У меня проблемы с исправлением fgetl
в MATLAB.Когда я запускаю это, он выдает следующую ошибку:
Файл 1 день пропущен?!
Ошибка при использовании fgets
Неверный идентификатор файла.Используйте fopen для создания правильного идентификатора файла.
Ошибка в fgetl (строка 32)
[tline, lt] = fgets (fid);
Ошибка в LK_onedaydata1 (строка 41)
tline = fgetl (fid);
Пожалуйста, найдите ниже часть моего кода:
directory = '/C/Users/default.default-PC/Documents/PAMGuide/PAMGuide/LK_20sept2018/';
idepth = 001; %the folder that lists all the .wav files%
path2data = [directory num2str(idepth,'%03i') '/'];
work = dir(path2data);
if(numel(work)==0)
disp(['>>>>>>>>>> File day ',num2str(idepth),' is missed ?!'])
else
disp(['File day: ',num2str(idepth),' has ',num2str(numel(work)),' data!'])
end
fid = fopen([directory '001/listing.txt'],'r');
tline = fgetl(fid);
ii = 0;
while (tline ~= -1)
if (length(tline) == 0)
continue
end
ii = ii + 1;
file_names(ii,:)=tline; % create file names in matlab data worksapace
year(ii) = str2num(tline(4:7));
month(ii) = str2num(tline(8:9));
day(ii) = str2num(tline(10:11));
hour(ii) = str2num(tline(13:14));
min(ii) = str2num(tline(15:16));
sec(ii) = str2num(tline(17:18));
tline = fgetl(fid);
end
fclose(fid);
timestamp = datenum(year,month,day,hour,min,sec);