27 个解决方案
#1
如果不知道里面都有什么,就用2进制度文件,比较通用
先看长度,最后挨个比较字节是否一致,只要有一个字节不一致即可跳出
先看长度,最后挨个比较字节是否一致,只要有一个字节不一致即可跳出
#2
shell "cmd /c fc c:\a.txt,d:\b.txt"
#3
ZOU_SEAFARER(^_^2005NET^_^) 用vb代码怎么写啊?
#4
假如不同 你要些什么信息? 把不同的地方都列出来?
#5
还是只报告第一个不同的位置
#6
如果需要知道发生了哪些变化用字节比较就不太适合了
#7
假如不同,给个提示就可以了,或是更高级些,把不同的内容显示出来?
#8
给你个只能判断是否相同的
Private Function FileComp() As Boolean
Dim a() As Byte, b() As Byte, lofa As Long, lofb As Long
Dim i As Long, fa As Integer, fb As Integer, t
fa = FreeFile
Open "c:\a.txt" For Binary As #fa
fb = FreeFile
Open "c:\b.txt" For Binary As #fb
lofa = LOF(fa)
lofb = LOF(fb)
ReDim a(lofa - 1)
ReDim b(lofb - 1)
If lofa <> lofb Then
FileComp = False
Exit Function
End If
Get #fa, , a
Get #fb, , b
t = StrComp(a, b)
If (t <> 0) Or IsNull(t) Then
FileComp = False
Else
FileComp = True
End If
End Function
Private Sub Command1_Click()
Print FileComp
End Sub
Private Function FileComp() As Boolean
Dim a() As Byte, b() As Byte, lofa As Long, lofb As Long
Dim i As Long, fa As Integer, fb As Integer, t
fa = FreeFile
Open "c:\a.txt" For Binary As #fa
fb = FreeFile
Open "c:\b.txt" For Binary As #fb
lofa = LOF(fa)
lofb = LOF(fb)
ReDim a(lofa - 1)
ReDim b(lofb - 1)
If lofa <> lofb Then
FileComp = False
Exit Function
End If
Get #fa, , a
Get #fb, , b
t = StrComp(a, b)
If (t <> 0) Or IsNull(t) Then
FileComp = False
Else
FileComp = True
End If
End Function
Private Sub Command1_Click()
Print FileComp
End Sub
#9
ayalicer(小刀惋心) ----如果我把b.txt内容放到程序里面,也就是一个数组里面,又怎么比较呢?
#10
BYTE数组和字符串 基本是通用
#11
如果你要把数组内容 显示在textbox 的控件中
text1.text= strconv(b,vbUnicode)
text1.text= strconv(b,vbUnicode)
#12
用二进制方法打开文件,读进量个BYTE数组中,然后一个循环比较就知道是否相同了.任何文件包括EXE文件都可以这样做.
#13
如果单纯比较是否相同,最快的方法是用MD5进行比较.
#14
楼上的提醒了我,记得DOS里面似乎有个命令叫COMPARE的
#15
CRC校验
#16
CRC校验 可以给个代码例子吗?
#17
我来学习
#18
只比较文件是否相同,
干脆首先比较文件的属性。
然后,直接用open filename for #nfile as input打开
一句一句当字符串比较,
这样比二进制打开比较来得快些吧
干脆首先比较文件的属性。
然后,直接用open filename for #nfile as input打开
一句一句当字符串比较,
这样比二进制打开比较来得快些吧
#19
LS有个错误
open filename for #nfile as input
-->
open filename for input as #nfile
open filename for #nfile as input
-->
open filename for input as #nfile
#20
看你要比较后返回什么,如果仅比较是否完全相同,CRC运算呀。
#21
在DOS下用fc比较,输出重定向到c.txt
fc a.txt b.txt>>c.txt
fc a.txt b.txt>>c.txt
#22
头条的热闹我是一定要凑的啦,哈哈哈哈
#23
比较是否完全相同,CRC运算怎么写?
#24
有没有人气了
#25
看不懂
#26
有问题请先GOOGLE,BAIDU
#27
我也想了解,谢谢LZ.
#1
如果不知道里面都有什么,就用2进制度文件,比较通用
先看长度,最后挨个比较字节是否一致,只要有一个字节不一致即可跳出
先看长度,最后挨个比较字节是否一致,只要有一个字节不一致即可跳出
#2
shell "cmd /c fc c:\a.txt,d:\b.txt"
#3
ZOU_SEAFARER(^_^2005NET^_^) 用vb代码怎么写啊?
#4
假如不同 你要些什么信息? 把不同的地方都列出来?
#5
还是只报告第一个不同的位置
#6
如果需要知道发生了哪些变化用字节比较就不太适合了
#7
假如不同,给个提示就可以了,或是更高级些,把不同的内容显示出来?
#8
给你个只能判断是否相同的
Private Function FileComp() As Boolean
Dim a() As Byte, b() As Byte, lofa As Long, lofb As Long
Dim i As Long, fa As Integer, fb As Integer, t
fa = FreeFile
Open "c:\a.txt" For Binary As #fa
fb = FreeFile
Open "c:\b.txt" For Binary As #fb
lofa = LOF(fa)
lofb = LOF(fb)
ReDim a(lofa - 1)
ReDim b(lofb - 1)
If lofa <> lofb Then
FileComp = False
Exit Function
End If
Get #fa, , a
Get #fb, , b
t = StrComp(a, b)
If (t <> 0) Or IsNull(t) Then
FileComp = False
Else
FileComp = True
End If
End Function
Private Sub Command1_Click()
Print FileComp
End Sub
Private Function FileComp() As Boolean
Dim a() As Byte, b() As Byte, lofa As Long, lofb As Long
Dim i As Long, fa As Integer, fb As Integer, t
fa = FreeFile
Open "c:\a.txt" For Binary As #fa
fb = FreeFile
Open "c:\b.txt" For Binary As #fb
lofa = LOF(fa)
lofb = LOF(fb)
ReDim a(lofa - 1)
ReDim b(lofb - 1)
If lofa <> lofb Then
FileComp = False
Exit Function
End If
Get #fa, , a
Get #fb, , b
t = StrComp(a, b)
If (t <> 0) Or IsNull(t) Then
FileComp = False
Else
FileComp = True
End If
End Function
Private Sub Command1_Click()
Print FileComp
End Sub
#9
ayalicer(小刀惋心) ----如果我把b.txt内容放到程序里面,也就是一个数组里面,又怎么比较呢?
#10
BYTE数组和字符串 基本是通用
#11
如果你要把数组内容 显示在textbox 的控件中
text1.text= strconv(b,vbUnicode)
text1.text= strconv(b,vbUnicode)
#12
用二进制方法打开文件,读进量个BYTE数组中,然后一个循环比较就知道是否相同了.任何文件包括EXE文件都可以这样做.
#13
如果单纯比较是否相同,最快的方法是用MD5进行比较.
#14
楼上的提醒了我,记得DOS里面似乎有个命令叫COMPARE的
#15
CRC校验
#16
CRC校验 可以给个代码例子吗?
#17
我来学习
#18
只比较文件是否相同,
干脆首先比较文件的属性。
然后,直接用open filename for #nfile as input打开
一句一句当字符串比较,
这样比二进制打开比较来得快些吧
干脆首先比较文件的属性。
然后,直接用open filename for #nfile as input打开
一句一句当字符串比较,
这样比二进制打开比较来得快些吧
#19
LS有个错误
open filename for #nfile as input
-->
open filename for input as #nfile
open filename for #nfile as input
-->
open filename for input as #nfile
#20
看你要比较后返回什么,如果仅比较是否完全相同,CRC运算呀。
#21
在DOS下用fc比较,输出重定向到c.txt
fc a.txt b.txt>>c.txt
fc a.txt b.txt>>c.txt
#22
头条的热闹我是一定要凑的啦,哈哈哈哈
#23
比较是否完全相同,CRC运算怎么写?
#24
有没有人气了
#25
看不懂
#26
有问题请先GOOGLE,BAIDU
#27
我也想了解,谢谢LZ.