我有一个愚蠢的问题。我想知道在以下情况下选择了多少文件:
[fileName, pathName, filterIndex] = uigetfile({'*.*';'*.xls';'*.txt';'*.csv'}, 'Select file(s)', 'MultiSelect', 'on');
当超过 1 个时,我可以做 length(fileName);
没关系。但是当只选择一个时,这给了我文件名的实际长度(字符数量):/
你应该先检查一下iscell(filename)
。
[fileName, pathName, filterIndex] = uigetfile({'*.*';'*.xls';'*.txt';'*.csv'}, 'Select file(s)', 'MultiSelect', 'on');
if iscell(fileName)
nbfiles = length(fileName);
elseif ~isempty(fileName)
nbfiles = 1;
else
nbfiles = 0;
end
文件名 = cellstr(文件名)
是另一种(更简单)的解决方案,如果选择了一个或多个文件,则始终接收一个独立的文件名单元