主题:如何把一个变量写入到TXT的指定位置?
gdsklw
[专家分:0] 发布于 2005-06-05 08:02:00
需要把一个变量写入到TXT某行某列(指定)
如原有个T.TXT,内容如下:
78825DFJJDJKDJDFJKDJDJHDHDHHDH
DHFJHFDJJDJDUSGSHGS
HSJADDD55555255558777
DHSAT =
445598774415255252
................
如把变量的字符加写到第4行"="号后面,请达者指教.
回复列表 (共6个回复)
沙发
moz [专家分:37620] 发布于 2005-06-05 23:46:00
你的意思该是插入进去而不是覆盖后面的数据吧?
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$
板凳
末日狂者 [专家分:90] 发布于 2005-06-06 15:18:00
是先将文本全部导入,然后搜索,再插入,对吗?
不过这样效率太低了
3 楼
moz [专家分:37620] 发布于 2005-06-06 19:04:00
哦?愿闻其详。
还有一个办法,如果我要做这种事我会用下面的办法,但不太能理解:
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 楼
prairiewolf [专家分:290] 发布于 2005-07-04 19:19:00
可以先把后面的删去,然后把删去的再加上你要加的字符,一齐打印在后面
应该可以吧。
f%=freefile
open f$ for input as f%
这个f%=freefile和 as f%我不明白。还请解释。
5 楼
moz [专家分:37620] 发布于 2005-07-05 08:15:00
freefile 函数返回一个空闲的文件号
f% 就作为这个文件号变量
6 楼
prairiewolf [专家分:290] 发布于 2005-07-06 00:17:00
我再看看书。
我来回复