lisp循环读文件赋值,按行读txt文件,读取指定的行

  • A+
所属分类:CAD二次开发

lisp读文件,并不是像其他语言可以直接读取赋值调用,lsp里面读文件的思路是,先读全部对读出来加入到列表里,,在通过循环列表里面的值,才能准确的拿到我们想要的值。

例子:

(defun c:ffff(/ ff str bc dat)

(setq ff (open "L:/CAD/huojibk.dat" "r");打开文件
lis '()
)
(while (setq str (read-line ff)):;循环读取,并赋值str
(setq lis (cons str lis));加入到列表

;(alert (vl-princ-to-string lis))
)
(setq lis(reverse lis));颠倒顺序
(close ff);关闭文件
(setq K 0)
(setq bc (length lis));列表长

(while (> bc k)
(setq dat(nth k lis));读取列表里面的值
(setq K (1+ k ))
(alert (vl-princ-to-string dat))
)

)

复制

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: