回 帖 发 新 帖 刷新版面

主题:如何把一个变量写入到TXT的指定位置?

需要把一个变量写入到TXT某行某列(指定)
如原有个T.TXT,内容如下:
78825DFJJDJKDJDFJKDJDJHDHDHHDH
DHFJHFDJJDJDUSGSHGS
HSJADDD55555255558777
DHSAT =
445598774415255252
................
如把变量的字符加写到第4行"="号后面,请达者指教.

回复列表 (共6个回复)

沙发

你的意思该是插入进去而不是覆盖后面的数据吧?

w$="要写的变量"
v$="DHSAT ="
v%=len(v$)


f$="t.txt"
f2$="t.tx2"

f%=freefile
open f$ for input as f%

f2%=freefile
open f2$ for output as f2%

do until eof(f%)
   line input #f%,a$
   i%=instr(1,a$,v$)
   if i%>0 then a$=left$(a$,v%)+w$+mid$(a$,v%+1)
   print #f2%,a$
loop

close #f%,#f2%
kill f$
name f2$ as f$

板凳

是先将文本全部导入,然后搜索,再插入,对吗?
不过这样效率太低了

3 楼

哦?愿闻其详。

还有一个办法,如果我要做这种事我会用下面的办法,但不太能理解:


w$="要写的变量"
v$="DHSAT ="
v%=len(v$)


f$="t.txt"
f2$="t.tx2"

f%=freefile
open f$ for binary as f%
do until eof(f%)
   搜索字符
loop
找到位置,计算新文件长度
读写后面的数据。

但如果说有更好的办法,那就是硬盘级的技术了。

4 楼

可以先把后面的删去,然后把删去的再加上你要加的字符,一齐打印在后面
应该可以吧。
f%=freefile
open f$ for input as f%
这个f%=freefile和 as f%我不明白。还请解释。

5 楼

freefile 函数返回一个空闲的文件号
f% 就作为这个文件号变量

6 楼

我再看看书。

我来回复

您尚未登录,请登录后再回复。点此登录或注册