实现功能
对比两txt每行的内容是否一致,若一致则输出’完全一致’,不一致则输出’第 %d 行不一致’;若行数不等则输出’文件1比文件2少/多%d行’
MATLAB代码
注意修改代码中txt文件名
clear all;close all;clc; %清理工作区,关闭所有窗口,清空文本
% 读取第一个文本文件的内容
file1 = fopen('txt1.txt', 'r');%修改地址为对应文件名及地址,单独文件名则需要txt与此代码同层级
data1 = textscan(file1, '%s', 'Delimiter', '\n');
fclose(file1);% 读取第二个文本文件的内容
file2 = fopen('txt2.txt', 'r');%修改地址为对应文件名及地址,单独文件名则需要txt与此代码同层级
data2 = textscan(file2, '%s', 'Delimiter', '\n');
fclose(file2);% 获取每个文件的行数
numLines1 = length(data1{1});
numLines2 = length(data2{1});% 比较每一行的内容是否相等
isMatch = true;
for i = 1:min(numLines1, numLines2)if ~strcmp(data1{1}{i}, data2{1}{i})fprintf('第 %d 行不一致\n', i);isMatch = false;end
end% 检查文件行数是否一致
if numLines1 < numLines2fprintf('文件1比文件2少%d行\n', numLines2 - numLines1);isMatch = false;
elseif numLines1 > numLines2fprintf('文件1比文件2多%d行\n', numLines1 - numLines2);isMatch = false;
end% 输出结果
if isMatchdisp('完全一致');
end
练习文本
将下列文本复制到txt中创建两个txt,可修改或删除行进行对比验证。
00c4,
00c3,
00c3,
00c2,
00c2,
00c2,
00c1,
00c1,
00c0,
00c0,
00c0,
00bf,
00bf,
00be,
00be,
00bd,
00bd,
00bc,
00bc,
00bb,
00ba,
00ba,
00b9,
00b9,
00b8,
00b8,
00b7,
00b6,
00b6,
00b5,
在线资源
有很多优秀的在线文本对比工具,搜索引擎中输入在线文本对比
可以找到。粘贴文本内容进行对比。