matlab fopen返回 1,GUI 利用 fopen 函数打开*.dat文件,总是返回fid=-1,

利用 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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值