How to store strings into array?

I am reading filename from directory and want to store it into array.
srcFiles = dir('E:\abc\*.bmp'); % the folder in which ur images exists
for i = 1 : length(srcFiles)
filename = strcat('E:\abc\',srcFiles(i).name);
names(i,:)=filename;
end
I am getting following error ??? Undefined function or variable 'names'.

3 个评论

Why waste your time with a loop anyway ?
P = 'E:\abc\';
S = dir(fullfile(P,'*.bmp');
N = {S.name};
F = fullfile(P,N)
You don't need cellfun
F=fullfile(P,N)
@Azzi Abdelmalek: thank you, I changed the comment.

请先登录,再进行评论。

 采纳的回答

I wouldn't expect you to be getting that specific error, but strings need to be stored in a cell array, not a numeric array generally:
names{i} = filename;
You may want to presize names though as
names = cell.empty( length(srcFiles), 0 );
or something similar.

5 个评论

But how to access names array. I tried >> names It shows me Columns 1 through 6
[1x33 char] [1x33 char] [1x33 char] [1x33 char] [1x33 char] [1x32 char]
Columns 7 through 10
[1x32 char] [1x32 char] [1x32 char] [1x32 char]
How to access names array. Also how to store all 100 names on separate row in excel sheet.
Thanks a lot. But when I stored names in excel sheet xlswrite('c:\data.xls',names,'sheet1') it stores name in single row in different columns. But I want the names in different row but same column. How to do it?
I think the reason is obvious, your cell array is a row vector, then you have just to transpose it
names=names'
Thanks a lot.

请先登录,再进行评论。

更多回答(1 个)

类别

帮助中心File Exchange 中查找有关 Characters and Strings 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by