VB中二进制文件的内容怎么读取
发布网友
发布时间:2022-08-18 22:14
我来回答
共4个回答
热心网友
时间:2023-10-20 12:48
存放二进制文件的数据要使用字节型数组,不能是字符型数组:
Dim DAT() As Byte
Dim FileSize As Long '文件长度
FileSize = FileLen(文件名) '获取文件长度
ReDim DAT(FileSize - 1) As Byte
Open 文件名 For Binary As #1
Get #1, , DAT
Close
数据已经在DAT数组中了,你可以进行任意处理
热心网友
时间:2023-10-20 12:49
存放二进制文件的数据要使用字节型数组,不能是字符型数组:
Dim DAT() As Byte
Dim FileSize As Long '文件长度
FileSize = FileLen(文件名) '获取文件长度
ReDim DAT(FileSize - 1) As Byte
Open 文件名 For Binary As #1
Get #1, , DAT
Close
'支持这种做法,我以前做网络上文件传送就是这样做的,没有问题!
热心网友
时间:2023-10-20 12:49
读入的数据是以10进制形式显示的 要10转2处理后再判断
Private Function TenToTwo$(ByVal varNum As Variant)
Dim returnString(1) As String
Dim ModNum As Integer
Dim I As Integer
Dim Num(1) As String
On Error Resume Next
Dim ClsNum
ClsNum = Split(varNum, ".")
Num(0) = ClsNum(0)
'MsgBox Num(0)
Num(1) = Format("0." & ClsNum(1), "0.0000000000")
'ÕûÊý²¿·Ö
Do While Val(Num(0)) > 0
ModNum = Num(0) Mod 2
Num(0) = Num(0) \ 2
returnString(0) = Trim(Str(ModNum)) + returnString(0)
Loop
'MsgBox returnString(0)
'СÊý²¿·Ö
I = 0
Do While Val(Num(1)) <> 0
On Error GoTo Err:
ModNum = Left(Num(1) * 2, 2)
returnString(1) = returnString(1) & Trim(Str(ModNum))
ClsNum = Split(Num(1) * 2, ".")
Num(1) = Format("0." & ClsNum(1), "0.0000000000")
I = I + 1
If I > 10 Then
Num(1) = "0"
End If
Loop
'TenturnTwo = returnString(0) & "." & returnString(1)
Err:
'MsgBox returnString(0)
TenToTwo = returnString(0) & IIf(InStr(CStr(varNum), ".") = -1, "." & returnString(1), "")
End Function
热心网友
时间:2023-10-20 12:50
fopen("文件路径","rb");//b表示读取的是二进制
然后使用文件读取的方法fgetc fread读取就可以了