MatlabGUI:如果用户选择了错误的文件类型,我想显示一条错误消息

MatlabGUI:如果用户选择了错误的文件类型,我想显示一条错误消息,matlab,user-interface,Matlab,User Interface,用户可以选择打开wav文件(使用uigetfile)。然而,这并不能阻止他们打开所有文件类型,当他们这样做时,会破坏我的GUI 当他们没有打开wav文件时,如何获取错误消息?在使用uigetfile获取文件名后,请检查其最后四个字符是否为“.wav”。可以使用strncmp进行比较。(请注意,文件名可能少于四个字符,因此不能执行类似于all(文件名(end-3:end)=='.wav'))的操作) 如果希望在文件类型不正确时重新出现文件对话框,而不是抛出错误: done = 0; while

用户可以选择打开wav文件(使用
uigetfile
)。然而,这并不能阻止他们打开所有文件类型,当他们这样做时,会破坏我的GUI


当他们没有打开wav文件时,如何获取错误消息?

在使用
uigetfile
获取文件名后,请检查其最后四个字符是否为“.wav”。可以使用
strncmp
进行比较。(请注意,文件名可能少于四个字符,因此不能执行类似于
all(文件名(end-3:end)=='.wav')
)的操作)


如果希望在文件类型不正确时重新出现文件对话框,而不是抛出错误:

done = 0;
while ~done
    [filename, pathname, filterindex] = uigetfile('*.wav',' Select file');
    done = filterindex==0 || strncmp(fliplr(filename),'vaw.',4);
end
当用户按下“取消”键时,需要进行
filterindex==0
检查以避免无限循环。根据,在这种情况下,输出参数为零

done = 0;
while ~done
    [filename, pathname, filterindex] = uigetfile('*.wav',' Select file');
    done = filterindex==0 || strncmp(fliplr(filename),'vaw.',4);
end