请教怎样才能在文件复制时保持定长

leeb 2000-03-22 02:02:00
请看下面语句:
dim buffer as string *1024
'or buffer$=string$(1024,0)
open file1 for binary #1
open file2 for binary #2
get #1,,buffer
put #2,,buffer
通过以上语句将file1复制到file2后,发现每次put到file2的字节不是1024,而是稍大于1024?请问如何才能使以上put字节数为1024。
谢谢!
...全文
153 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sirius 2000-03-22
  • 打赏
  • 举报
回复
用API:
CopyFile
再错了就是M$的不是了
sunsetyang 2000-03-22
  • 打赏
  • 举报
回复
问题出在你的变量以及对应的操作上面,你读取得数据是二进制的数据,而string类型都是针对字符串处理的,它将会对0dh重新解释成0dh,0ah,因此你的二进制流就会出现这种问题。你注意看一下你的文件打开方式,这需要是二进制的打开方式。不然也会出现自动的转换。你可以用一下:ReadFile和WriteFile来进行输入输出。
RealTop 2000-03-22
  • 打赏
  • 举报
回复
我看:应先分析一下复制后为什么出错;
可能的原因无外乎:
文件首部多字符;
文件尾部多字符;
换行符;
可以将buffer声明成Byte数组,MSDN中有例子。
Un1 2000-03-22
  • 打赏
  • 举报
回复
试一下:

dim buffer() as byte
dim l as long
l = filelen(file1)

redim buffer(l-1)

open file1 for binary #1
open file2 for binary #2

get #1,,buffer
put #2,,buffer

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧