lisp中的read函数出差,求助
程序是用来读取文本文件建立图层的。xjtc1结果异常,xjtc2就是正常的cgy_图层1,cgy_图层2的区别就是(151 结-梁 4 dashed 梁线)(151 结-梁1 4 dashed 梁线)
(156 结-梁-垂直编号 120 continuous 垂直梁标注)(156 结-梁-垂直编号1 120 continuous 垂直梁标注)
各加了个“1” 在后面
但跟踪变量 varlist,lay_line就会发现执行到这来时异常。这两个变量是这样来的
(setq varlist (read-line fopen))这个是读文本文件的
(setq lay_line (read varlist)) 这个将变量varlist转换成表。
同样的程序,为什么文本文件就改个字符,其它不动,执行结果会出错呢。
本人怀疑是 read函数有问题, 但向谁反应呢?
我也遇到过 确实有问题 重置重装CAD都不行 ;不是read函数的问题,是中文原子的问题。将程序局部改成:
;......
(setq i 1)
(repeat (strlen varlist)
(setq txt (substr varlist i 1))
(cond
((= txt "(") (setq lay_line "(\""))
((= txt ")") (setq lay_line (strcat lay_line "\")")))
((= txt " ") (setq lay_line (strcat lay_line "\" \"")))
(T (setq lay_line (strcat lay_line txt))
)
(setq i (1+ i))
)
(setq lay_line (read lay_line))
;......
页:
[1]