【发布时间】:2017-10-04 11:41:02
【问题描述】:
我想从元胞数组构建一个文件名。我想使用sprintf 函数,但它不适用于单元格输入(例如,它适用于字符串数组)。
例子:
foldername = sprintf('''\\STH\\Sth %s\\ABC %s;'',firstvariable,secondvariable);
输出:
Error using sprintf
Function is not defined for 'cell' inputs.
其中变量是元胞数组,如下所示:
firstvariable = {'A','B','C'};
secondvariable = {'D','E','F'};
我也尝试使用fullfile 函数,但它不带任何变量。这个输出看起来像这样:\STH\Sth %s\ABC %s。更何况,我也试过用strcat函数,结果还是差不多。
您还有其他想法吗? 谢谢!
【问题讨论】:
-
所以你在这个例子中你想创建一个文件名路径的向量? (\A\D\ABC, \B\E\ABC, \C\F\ABC)
-
输出应该看起来像'\STH\Sth A\ABC D'。我将在 for 循环中执行此操作,所以现在我只需要找到解决方案如何使用来自单元格数组的不同变量保存名称向量。 Sprintf 不适用于元胞数组;并且 fullfile 和 strcat 函数不适用于变量。我的问题是:什么样的功能可以做到这一点?
-
如果你有一个
for循环:从它们的单元格中取出两个所需的变量,放在一个char类型的临时变量中,并在每次迭代中重复。 -
嗯,这是个好主意。我会尽力做到这一点。谢谢!
标签: matlab variables printf cell-array