文件如下,行数是自己标的,%在txt里是顶格写的12%A311.2222.5300045%B6100200300789%C10480000050000060000000formatlong%让matlab显示出很大的数比如6000000000011.8,不会忽略掉11.2fidin=fopen('123.txt');%打开文件while~feof(fidin)%判断是不是文件末尾tline=fgetl(fidin);%读取一行,注意,读文一行后,光标就会自动到下一行ifisempty(tline)%判断是不是空行continueendswitchtline(2)%对不是空行的判断这一行的第二个字符case'A'%如果是A的情况tline=fgetl(fidin);%读取下一行的数据str=tline;%先把这一行变为字符串sline=sscanf(str,'%f',3);%读取字符串中的数据,最多读3个,三个字符自动转为数字类型M=sline;%赋值给Mcase'B'%一下类似tline=fgetl(fidin);str=tline;sline=sscanf(str,'%f',3);M1=sline;otherwisetline=fgetl(fidin);str=tline;sline=sscanf(str,'%f',3);M2=sline;endendfclose(fidin);a=M(1)+M2(3);disp(a);这里让11.2+60000000结果是60000011.2成功
阅读全文 >