Retrieving strings from struct variable

13 次查看(过去 30 天)
Hello,
What I am trying to do is retrieve strings from a struct variable and store them in a vector. The struct variable is 16x1 with the first field holding the string data.
Here is what I tried, for example:
---------------
for i = 1:16
stringVector(i) = structVar(i).stringField;
end
---------------
Here is the error I am receiving:
"??? In an assignment A(:) = B, the number of elements in A and B must be the same."
Any thoughts?

采纳的回答

Sean de Wolski
Sean de Wolski 2011-7-20
stringvector should be a cell
stringvector = cell(16,1)
for ii = 1:16
stringvector{ii} = structVar(ii).stringField
end
You could also skip the for-loop with
stringvector = {structVar.stringfield}

更多回答(2 个)

Fangjun Jiang
Fangjun Jiang 2011-7-20
Your strings may have different length. Thus, it is better to use cell array of strings. change your line to be:
stringVector{i} = structVar(i).stringField

James
James 2011-7-20
Ah, it seems my research should have turned towards cells rather than structures. Thanks for the response!
--Jimmy

类别

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

产品

Community Treasure Hunt

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

Start Hunting!

Translated by