从文本文件中读取十六进制数据并转化为十进制在写入文本文件中
现在要将123.txt文件中的十六进制数据读出并转化为十进制,并在每个数据后加逗号,每读到九个数据就换行,然后写入另一文件名为456.txt的文本文件 请问应如何实现呢
[解决办法]
是啊 很容易解决 就是读出一个十六进制后 在前面加个 Val( "&H "+str)
int i
for i = 1 to 9
get #1,,tmp
put #2,,tmp
put #2,, ", "
next i
put #2,,chr(13)
[解决办法]
Dim sTmp As String
Dim sData() As String
Dim i As Integer
Open "c:\123.txt " For Input As #1
Input #1, sTmp
Close #1
sData = Split(sTmp, Space(1))
Open "c:\456.txt " For Output As #1
For i = 0 To UBound(sData)
Print #1, Val( "&H " & sData(i)),
If (i Mod 9) = 8 Then Print #1, " "
Next i
Close #1
[解决办法]
Option Explicit
Private Sub FileHexToDec(ByVal sSou As String, ByVal sTag As String)
Dim iFileSou As Long, iFileTag As Long
Dim sInput As String, sOutput As String
Dim sData() As String, iLoop As Long, iOutput As Long
On Error Resume Next
iFileTag = FreeFile()
Open sTag For Output As iFileTag
If Err.Number = 0 Then
iFileSou = FreeFile()
iOutput = 0
sOutput = " "
Open sSou For Input As iFileSou
If Err.Number = 0 Then
Do While Not EOF(iFileSou)
Line Input #iFileSou, sInput
sData = Split(sInput, " ")
For iLoop = LBound(sData) To UBound(sData)
If sOutput <> " " Then sOutput = sOutput & ", "
If iOutput = 9 Then
Print #iFileTag, sOutput
iOutput = 0
sOutput = " "
End If
sOutput = sOutput & CStr(CLng( "&H " & sData(iLoop)))
iOutput = iOutput + 1
Next iLoop
Loop
Close #iFileSou
If sOutput <> " " Then Print #iFileTag, sOutput
End If
Close #iFileTag
End If
On Error GoTo 0
End Sub
Private Sub Form_Load()
FileHexToDec "C:\123.txt ", "C:\456.txt "
End
End Sub