文件输出

aiyaya 2003-03-20 02:24:22
文件是以 Open "文件路径" For Binary As 1读入的,读在数组里。
数组增添了新值,请问我应该怎样把新添的值加入原文件(加在文件下一行),
谢谢!
...全文
21 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cooly 2003-03-20
  • 打赏
  • 举报
回复
我的意思是说你写回原文件的时候用Append方法
aiyaya 2003-03-20
  • 打赏
  • 举报
回复
Dim s As String
Dim k As Long
Dim d(7) As Variant
Dim v, i, statue, b, tt
s = String(FileLen("e:\*****"), " ")
Open "e:\*****" For Binary As 1
Get #1, , s
Close 1
v = Split(s, vbCrLf)
statue = 0
Vnum = 0
For i = 0 To UBound(v)
If StrComp(v(i), "xxx", 0) = 0 And statue = 0 Then
statue = 1
GoTo Line1
End If
If StrComp(v(i), "yyy", 0) = 0 And statue = 1 Then
statue = 0
Vnum = Vnum + 1
GoTo Line1
End If
If statue = 1 Then
//添加数据到数组。
我如果改为Append比较将有一定困难。
aiyaya 2003-03-20
  • 打赏
  • 举报
回复
特别字符串(固定的几种):我需要存入的二维数组的数据。
不是二进制的。
Cooly 2003-03-20
  • 打赏
  • 举报
回复
那你可以做一个全局变量,在读取文件的时候纪录行数,然后在向数组添加完新数据后使用UBound(数组名)的到新的数组元素个数,
用简单的循环
Open "文件名" For Append As #1
For I=原来的行数+1 to UBound(数组名)-1
Print #1,数组名(I)
Next
Close #1

aiyaya 2003-03-20
  • 打赏
  • 举报
回复
不是的,如果二进制不好添加,用别的方式也可以。读入时我是把文件
v = Split(s, vbCrLf)
一行行读入再对每一行的特殊字符串比较后把需要的内容读入另一二维
数组的。
Cooly 2003-03-20
  • 打赏
  • 举报
回复
文件格式大概什么样?
Cooly 2003-03-20
  • 打赏
  • 举报
回复
你的文件是二进制的吗?
aiyaya 2003-03-20
  • 打赏
  • 举报
回复
用Binary主要是读入时需要进行字符比较,文件很大,读入时大约用了三、四秒中。
能不能提供些代码,帮忙解决一下添加新值的问题。可再加80分。我就只有这么多了,
谢谢!
Cooly 2003-03-20
  • 打赏
  • 举报
回复
还有一种比较简单的办法,就是将新的内容保存为一个新文件,
然后利用copy 文件1 /b +文件2 /b 文件1/b这种方式实现.其中copy为dos内部命令,需要命令解释器才能工作。
9x:command.com
w2k:cmd.exe
Cooly 2003-03-20
  • 打赏
  • 举报
回复
如果要是Binary方式不太好办,如果是文本方式比较简单。
aiyaya 2003-03-20
  • 打赏
  • 举报
回复
数组很大,我能只加新值吗?
Cooly 2003-03-20
  • 打赏
  • 举报
回复
用数组的内容重写文件,如果是文本文件可以用Append方式追加。

7,763

社区成员

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

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