如何判斷兩個文本文件有哪些內容不同?


可有方法找出兩個文本文件里面(都是按同樣的格式排列)有什么內容不同了(增多了或者修改了)?

8 个解决方案

#1


http://search.csdn.net/search.asp?key=%CE%C4%B1%BE%B1%C8%BD%CF&class=&size=10&option=advance

http://search.csdn.net/search.asp?key=%D7%D6%B7%FB%B4%AE%B1%C8%BD%CF&class=&size=10&option=advance

#2


將兩個文件分別拷貝到兩個word文檔種,在其中一個文檔種選擇工具>>修改>>比較文檔,選擇另外一個文檔,這樣兩個文檔的差異就會比較出來,默認的格式是本文檔種沒有的則加入紅色下划線,本文檔中有而另外文檔中無的在漢字中間有紅色線(這種區分格式也可自定義)

#3


很多工具都可以,比如說ultraedit。

#4


方法:
1.為每個文件創建一個表(,逐行讀取數據插入到表中
2.比較相同的行時用
方法:
1.為每個文件創建一個表,包括 行號(自增列),內容 兩個字段,逐行讀取數據插入到表中
2.查找相同的行時用
select 表1.行號, 表2.行號,表1.內容 from 表1,表2 where 表1.內容 = 表2.內容

3.查找不同的內容時,用not in 語句寫 分別為兩個表寫兩個SQL 語句

#5


我想這必須得一個一個位置進行定位才行!

#6


如果按樓主所說:
則可舉例如下:假設c:\s.txt 和 c:\d.txt內容如下
-------------
s.txt
a b
c d
e f
-------------
d.txt
a y
c x
e w
-------------

integer li_fs,li_fd
li_fs = fileopen("c:\s.txt",streammode!,read!,lockread!)
li_fd = fileopen("c:\d.txt",streammode!,read!,lockread!)
if li_fs = -1 then return
if li_fd = -1 then return

string ls_s,ls_d
int li_s,li_d,li_temp,i

fileread(li_fs,ls_s)
fileread(li_fd,ls_d)
li_s = len(ls_s)
li_d = len(ls_d)
li_temp = li_d
if li_s > li_d then li_temp = li_s

for i=1 to li_temp
   if mid(ls_s,i,1) <> mid(ls_d,i,1) then
messagebox(string(i),mid(ls_s,i,1)+'與'+mid(ls_d,i,1)+' have defferent!')
end if
next
fileclose(li_fs)
fileclose(li_fd)

#7


這么麻煩干嘛?
DOS命令:
fc a.txt b.txt

#8


CSDN結帖的人少,問問題的人多,真掃人積極性!

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2021 ITdaan.com