⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 compfile.m

📁 本文件夹中包含了克立格插值
💻 M
字号:
function res=compfile(f1,f2,isdetail)
% Compare the contents of two files
% Syntax:
% res=comp(f1,f2)
% res=comp(f1,f2,isdetail)
% % Default:
% % isdetail=false

if(nargin==2)
    isdetail=false;
end
lf1=dir(f1);
lf2=dir(f2);
if isempty(lf1)||isempty(lf2)
    error(['File ' f1 ' or ' f2 ' nonexist!']);
end
if lf1.bytes==lf2.bytes
    if lf1.bytes>5000000
        disp(['    Their bytes are equal: ' num2str(lf1.bytes)]);
        res=false;
        return;
    end
    fp=fopen(f1,'r');
    s1=fread(fp,inf,'uchar');
    fclose(fp);
    fp=fopen(f2,'r');
    s2=fread(fp,inf,'uchar');
    fclose(fp);
    s1=char(s1');
    s2=char(s2');
    if(strcmpi(s1,s2))
        res=true;
    else
        res=false;
        if(isdetail)
            fdiff(f1,f2);
        end
    end
else
    res=false;
    if(isdetail)
        fdiff(f1,f2);
    end
end

function fdiff(f1,f2)
eval(['!fc /n /c ' f1 ' ' f2,'>tmp.txt']);
fp=fopen('tmp.txt','r');
tmp=fgetl(fp);
s1=[];
s2=[];
fi=0;
while 1
    tline = fgetl(fp);
    if ~ischar(tline), break, end
    if strcmpi(['***** ' f1],tline)
        s1=[];
        fi=1;
    elseif strcmpi(['***** ' f2],tline)
        s2=[];
        fi=2;
    elseif strcmpi('*****',tline)
        while 1
            if isempty(s1)|isempty(s2), break, end
            a=s1{1};
            a(1:6)=[];
            b=s2{1};
            b(1:6)=[];
            if(~strcmpi(deblank(a),deblank(b)))
                break;
            end
            s1(1)=[];
            s2(1)=[];
        end
        
        while 1
            if isempty(s1)|isempty(s2), break, end
            a=s1{end};
            a(1:6)=[];
            b=s2{end};
            b(1:6)=[];
            if(~strcmpi(deblank(a),deblank(b)))
                break;
            end
            s1(end)=[];
            s2(end)=[];
        end
        
        if(~isempty(s1))
            disp(strvcat(s1{:}))
        end
        disp('-------------------------------------------')
        if(~isempty(s2))
            disp(strvcat(s2{:}))
        end
        disp('***************************************************************')
        disp('                                ')
        disp('                                ')
    elseif fi==1
        s1=[s1 {tline}];
    elseif fi==2
        s2=[s2 {tline}];
    end
end
fclose(fp);
delete('tmp.txt')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -