1

使用后我得到了一个结构dir(directoryName)。我想获得一个包含该文件夹中所有文件名的向量。

  • 如何从结构中提取名称向量?
  • 有没有更好的方法来获取包含目录中所有文件名称的向量?
4

1 回答 1

2

您可以这样做:

dirData = dir(directoryName);
fileNames = {dirData(~[dirData.isdir]).name};

这通过使用逗号分隔的列表来工作。当您有一个结构数组并使用点运算符对字段进行索引时,您会得到一个以逗号分隔的值列表,然后您可以将其传递给函数或使用方括号或大括号进行收集。这段代码:

...[dirData.isdir]...

从数组中的每个结构中收集isdir字段,使用方括号将值放入向量中,以便将其用作逻辑索引。然后这段代码:

... {dirData(...).name};

从数组中的每个结构中收集name字段,将字符串放入元胞数组中。

于 2016-12-20T20:49:54.337 回答