请问auto lisp 怎么在txt文本文档最后一行写入数据,我试了下写入的都覆盖了txt本身
2个回答
2017-12-13 · 知道合伙人软件行家
关注
展开全部
用函数vl-file-copy复制一个临时文件,然后一边读取,一边写入内容,写好以后删除临时文件即可。
;最后一行写入数据;ff1是文件路径加文件名【例:"D://数据保存//数据.txt"】,tr1是文本【例:"最后一行数据"】
(defun w1712121 (ff1 tr1 / f1 f2 ff1 ff2 tr1 tr2)
(setq ff2 (strcat (vl-filename-directory ff1) "\\Temp.txt"));临时文件路径加名称
(vl-file-copy ff1 ff2);复制
(setq f1 (open ff1 "w"));清理文件
(setq f2 (open ff2 "r"));读取文件
(setq tr2 (read-line f2));读取内容
(while tr2
(write-line tr2 f1);写入内容
(setq tr2 (read-line f2));读取内容
);while
(write-line tr1 f1);最后一行写入内容
(close f1);关闭
(close f2);关闭
(vl-file-delete ff2);删除临时文件
)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询