【发布时间】:2014-07-08 17:19:34
【问题描述】:
我想选择多个文件,从文件中导入数据并在 GUI 程序中使用它们。
我用来获取多个文件的代码运行良好:
[FileName,PathName,FilterIndex] = uigetfile('*.txt*','Study Files','MultiSelect','on')
Cols = size(FileName,2);
numfiles = Cols;
for i = 1:numfiles
FileName(i)
entirefile =fullfile(PathName,FileName(i))
end
我的问题是当我尝试打开 entire file 时。我尝试使用的方法适用于单个文件,但不适用于此处。当循环中的代码为:
for i = 1:numfiles
FileName(i)
entirefile =fullfile(PathName,FileName(i))
A = [];
fid = fopen(entirefile);
tline = fgets(fid);
while ischar(tline)
parts = textscan(tline, '%f;');
if numel(parts{1}) > 0
A = [ A ; parts{:}' ];
end
tline = fgets(fid);
end
end
使用 fopen 时出错第一个输入必须是 char 类型的文件名,或者 双精度类型的文件标识符。
多选错误(第 14 行)fid = fopen(entirefile);
它也只给我选择的第一个和最后一个文件,然后只给我第一个选择的文件的entirefile。
有人对我如何解决此问题有任何建议吗?
【问题讨论】:
-
这是有意的:
fid = fopen(file)?还是应该是fopen(entirefile)? -
抱歉,应该只在问题中编辑 fopen(entirefile) 以避免混淆。 @吉格
标签: matlab loops user-interface import