利用 fopen 函数打开文件,总是返回fid=-1
即使程序第一次运行时也返回fid=-1
调试过程中,返回filename的值,但是返回fid的值总是-1 ,并且fclose函数返回 fid=0 ,文件关闭成功
但是为什么fopen的值总是返回-1呢,求老师指导
[filename,pathname,indexx]=uigetfile({'*.dat';'*.txt';'*.*'},'选择要导入的数据','E:\Data'); %g添加文件格式类别
if indexx % 文件格式正确
fid=fopen(filename,'r'); % filename 为文件路径 fid 返回的是文件句柄
if fid==-1
disp('打开失败');
return
end
b=fgetl(fid);
a_1=strfind(b,'TO'); %返回 b 字符中TO的位置
Time=str2double(b(a_1+4:a_1+11)); % 读取b 中一定长度的字符 11
while ~feof(fid);
% global b
rr=rr+1; %返回文件行数
b=fgetl(fid); %读取fid_1句柄指向的文件
if strfind(b,'#####')~=0
continue
else
if strfind(b,'Z ')~=0 & strfind(b,'| |Z')~=0
Z_weizhi=strfind(b,'Z ');
ii=ii+1;
xianlu_Z(ii,:)=str2double(b(Z_weizhi-48:Z_weizhi-48));
dianhao_1(ii,:)=char(b(Z_weizhi-75:Z_weizhi-67)); %75 61
gaocheng(ii,:)=str2double(b(Z_weizhi+9:Z_weizhi+17));
else
continue
end
end
guidata(hObject, handles);
end % while ~feof(fid)
fid=fclose(fid); % filename 为文件路径 fid 返回的是文件句柄
if fid==-1
disp('打开失败');
return
end
end % if indexx