访问结构化数组中的文件名

时间:2014-02-09 20:17:37

标签: string matlab struct directory

我想创建一个弹出菜单,显示我文件夹中的所有.txt文件。

这是我到目前为止所得到的:

files = dir('*.txt');
n = length(files);

for i=1:n ;
    eval(['load ' files(i).name ' -ascii']);
    f1=files(i,1);
    namen = getfield(f1, 'name');
end

它将所有文本文件的名称,日期等放在结构化数组中。 有没有人知道如何在弹出菜单中使用这些名称?或至少将所有.txt文件的名称放在数组中?

2 个答案:

答案 0 :(得分:2)

为什么你不能只使用uiopen

uiopen('*.txt');

在此处阅读更多内容:http://www.mathworks.com/help/matlab/ref/uiopen.html

答案 1 :(得分:0)

感谢您的回答。这是新代码,正是我想要的。

 files = dir('*.txt');
    n = length(files);

    filevalues = cell(n,2)

    for i=1:n ;
        load(files(i).name,'-ascii');
        f1=files(i,1);
        a = struct2cell(f1)
        filevalues (i,1) = a (1,1)
        filevalues (i,2) = a (2,1)
    end

    hfig=figure;

    uicontrol(... % List of available types of plot
        'Parent', hfig, ...
        'Units','normalized',...
        'Position',[.31 .1 .15 .08],...
        'HandleVisibility','callback', ...
        'String',[filevalues(:,1)],...
        'FontSize',9,...
        'FontName','Consolas',...
        'Style','popupmenu');