用户界面-如何从目录中选择文本文件并在GUI matlab中读取它



我有一个GUI系统,应该从目录中选择一个文本文件,打开它并在代码中读取它。我有这个代码(获取文本文件的部分):

function FindCallback(source,eventdata)
     [FileName,PathName]= uigetfile('*.txt','browse')
 s={};
           fid = fopen('*.txt'); 
    tline = fgetl(fid); 
        while ischar(tline) 
           s=[s;tline]; 
           tline = fgetl(fid); 
        end

显示错误:

Invalid file identifier.  Use fopen to generate a valid file
identifier.
Error in ==> GUI_oo>FindCallback at 77
    tline = fgetl(fid);
??? Error while evaluating uicontrol Callback
任何建议. .

谢谢

你的问题是:

fid = fopen('*.txt');

没有文件名"*.txt", fopen的参数应该是你在上面的filename中存储的真实文件名。

所以这应该是:

fid = fopen([PathName FileName]);

您可能还需要在fopen之前检查FileName是否为0 (IIRC),因为用户可能会取消文件选择。试试这个:

if FileName == 0
   % maybe display a warning here
   return
end

应该改成

path = fullfile([FileName PathName])
fid = fopen(path);

打开*.txt错误

相关内容

  • 没有找到相关文章

最新更新