写文件时如何指定写的位置?

stkmk 2003-12-15 08:28:07
有个TXT文件比如只想修改某一行的东西,该怎么实现?谢谢
...全文
130 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
IT服务 2003-12-15
  • 打赏
  • 举报
回复
dim a as long
open "a.dat" for binary as #1 len=128
put #1,a+128,"hello"
close #1
PrettyMurphy 2003-12-15
  • 打赏
  • 举报
回复
如果是对TXT本文的格式不作要求且方便的话。把它当作INI的方式来取也蛮方便的。
只不过你TXT得保持INI的格式。
踏平扶桑 2003-12-15
  • 打赏
  • 举报
回复
如果文件不是很大,用第一楼的方法比较好(自我感觉)
如果文件很大,那就用第二楼的吧:)
SoHo_Andy 2003-12-15
  • 打赏
  • 举报
回复
Sub 替换文件中一行(strSourceFile As String, strTargetFile As String, intRow As Long)
Dim filenum As Integer
Dim fileContents As String
Dim fileInfo() As String
Dim i As Integer
Dim j As Integer

Dim tmpDemData As String
filenum = FreeFile
Open strSourceFile For Binary As #filenum
fileContents = Space(LOF(filenum))
Get #filenum, , fileContents
Close filenum
fileInfo = Split(fileContents, vbCrLf)
'取出源文件行数,按照回车换行来分隔成数组

filenum = FreeFile
tmpDemData = ""
If Dir(strTargetFile, vbNormal) <> "" Then
Kill strTargetFile
End If
Dim Filestr() As String

Open strTargetFile For Append As #filenum
'循环每一行
For i = 0 To UBound(fileInfo) - 1
If i <> intRow - 1 Then
fileInfo(i)="你的内容"
Print #filenum, fileInfo(i)
End If
Next
Close #filenum
MsgBox "完毕"
End Sub
Private Sub Command1_Click()
替换文件中一行 "d:\aa.txt", "d:\bb.txt", 2
End Sub
xsp 2003-12-15
  • 打赏
  • 举报
回复
如果是固定位置,可以用lineinput 的方式该行前面的内容到一个变量,然后读取该行不保存,加入新内容到变量,再继续读取后面的内容到变量,完成后重写txt文件。
如果是固定内容且只出现一次,可以一次读出全部内容后用replace方法把新内容替换掉旧内容。

7,785

社区成员

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

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