把文件读完后再写入另一个文件,为什么就会出错.txt
来自「VB技巧问答10000例 VB技巧问答10000例」· 文本 代码 · 共 20 行
TXT
20 行
问题出在你的ReDim语句上,每次你用ReDim改变数组大小时,以前读进来的数都会被仍掉,所以写的时候除了最后一个字节都不对。要保留以前读的数,应该改为:
ReDim Preserve a(1 To i)
实际上,你可以使用FileLen得到文件长度,这样程序可以简化:
Dim a() As Byte
Open "c:\windows\desktop\flash.exe" For Binary As #2
Open "d:\flash.exe" For Binary As #1
Dim i As Long
i = 0
ReDim a(1 To FileLen("c:\windows\desktop\flash.exe"))
Do While Not EOF(1)
i = i + 1
Get #1, , a(i)
Loop
For s = 1 To i
Put #2, , a(s)
Next
Close 1
Close 2
<END>
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?