Open "c:\test.dat" For Binary Access Write As #1 ' Save the file.
redim arrTmp(ubound(my_fjb_fj)-lbound(my_fjb_fj)-12) as byte
dim i as long
for i=lbound(my_fjb_fj) to ubound(my_fjb_fj)
arrTmp(i-lbound(my_fjb_fj))=my_fjb_fj(i+12)
next i
Put #1, , arrTmp
Close #1
redim arrTmp(ubound(my_fjb_fj)-lbound(my_fjb_fj)-12) as byte
dim i as long
for i=lbound(my_fjb_fj) to ubound(my_fjb_fj)
arrTmp(i-lbound(my_fjb_fj))=my_fjb_fj(i+12)
next i
Put #1, , arrTmp
Close #1
如果单纯用循环赋值,会丢失数据
(2)这个my_fjb_fj变量,后面的字节数很多
比如20k-90k左右,能不能不用循环?
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (Destination As Any, Source As Any, ByVal Length As Long)
Private Sub Command1_Click()
Dim b(10) As Byte
Dim c(10) As Byte
b(0) = 100
b(1) = 200
b(2) = 100
Call CopyMemory(c(0), b(1), 10)
Stop
End Sub
my_fjb_fj数组是来自access数据库的一个ole字段...
这个数组里面,有ascii码的'\0',
所以,如果用循环赋值,总是造成一些元素丢失..如果采用写临时文件,再读出来,赋给一个变量,就可以个完整的得到这个数组我现在,就想,通过临时文件,得到这个my_fjb_fj数组从13个字节到最后的字节数,请问该如何作???这个,写临时文件的步骤不能省略。。
arrLen = FileLen("c:\\test.dat")
ReDim arrTmp(0 To arrLen-13) As Byte
Open "c:\\test.dat" For Binary Access Read As #2 ' read the file.
Get #2, 13, arrTmp
Close #2