我可以选择让用户打开wav文件(使用uigetfile
)。但是,这并不能阻止它们打开所有文件类型,当它们执行此操作时会破坏我的GUI。
如何在未打开wav文件时收到错误消息?
答案 0 :(得分:2)
使用uigetfile
获取文件名后,检查其后四个字符是否为“.wav”。可以使用strncmp
进行比较。 (请注意,文件名可能少于四个字符,因此您无法执行all(filename(end-3:end)=='.wav')
)之类的操作。
[filename, pathname, filterindex] = uigetfile('*.wav',' Select file');
if ~strncmp(fliplr(filename),'vaw.',4)
error('Invalid file type')
end
如果文件类型不正确,您希望文件对话框重新出现,而不是抛出错误:
done = 0;
while ~done
[filename, pathname, filterindex] = uigetfile('*.wav',' Select file');
done = filterindex==0 || strncmp(fliplr(filename),'vaw.',4);
end
当用户按下“取消”时,需要filterindex==0
检查以避免无限循环。根据{{3}},在这种情况下,输出参数为零。