我一直试图在循环中打开文件。我这样做了:
file='';
loc='F:\UT_timestep\';
name='time_';
gridext='.grd';
for i={'a','b','c'}
file=strcat(loc,name,i,gridext);
f=fopen(file,'rb');
...
fclose(f);
end
但它会出现此错误:
使用fopen时出错 第一个输入必须是char类型的文件名,或者类型为double的文件标识符。
script_UT出错(第28行) F = FOPEN(文件,' RB&#39);
我无法理解为什么会出错。请帮忙。
答案 0 :(得分:2)
这是因为file
是1个元素的单元格数组。您需要单元格数组中的实际字符串,而不是实际的单元格本身。这样做:
file='';
loc='F:\UT_timestep\';
name='time_';
gridext='.grd';
for i={'a','b','c'}
file=strcat(loc,name,i,gridext);
f=fopen(file{1},'rb'); %// Change
...
fclose(f);
end