Why am i getting this error in the following line of code?

13 次查看(过去 30 天)
disp (' ');
name = input ('Enter a name for the folder (single quotes): '); % input folder's name
mkdir (name);
It was running fine when i tested it... 'Test' by giving this string name
disp (' ');
name = inputdlg ('Enter a name for the folder (single quotes): '); % input folder's name
mkdir (name);
now when i enter a string 'Test' as my folder name in this dialogue box i get error which says...
Error using mkdir
Argument must contain a string.

采纳的回答

Mischa Kim
Mischa Kim 2014-3-9
Rizwana, in this case use
name = inputdlg ('Enter a name for the folder (single quotes): ');
mkdir (name{1});
Note the curly brackets.
  3 个评论
Mischa Kim
Mischa Kim 2014-3-9
As pointed out above and explained by Jan below, inputdlg returns a cell array of strings. The following code snippet shows how to read and output multiple (2) lines of strings:
prompt = {'Input dialog'};
name = 'Input dialog';
numlines = 2;
dlg_ans = inputdlg(prompt, name, numlines);
dlg_ans{1}(1,:)
dlg_ans{1}(2,:)

请先登录,再进行评论。

更多回答(1 个)

Jan
Jan 2014-3-9
Please read the documentation of inputdlg . There you find the explanation, that a cell is replied. But mkdir requires a string.
You have to pick a certain element out of the cell.
See:
doc inputdlg
doc cell
doc mkdir

类别

Help CenterFile Exchange 中查找有关 Cell Arrays 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by