有关strcat的用法
现有N个字符,要用 strcat 将N个字符中串起来,代码应该怎样写呢?如:
N1="A1"
N2="A2"
N3="A3"
N……="N……"
一般写法
(strcat n1 n2 n3 ...nn)
如果字符串是表则
(apply 'strcat (list n1 n2 n3 ... nn))
z版的写法会有bug,如果表超过255,那么eval出错。
_$ (setq i 0 lst '())(repeat 255 (setq lst(cons (itoa i) lst))(setq i(1+ i)))
nil
255
_$ (eval(cons 'STRCAT lst))
"2542532522512502492482472462452442432422412402392382372362352342332322312302292282272262252242232222212202192182172162152142132122112102092082072062052042032022012001991981971961951941931921911901891881871861851841831821811801791781771761751741731721711701691681671661651641631621611601591581571561551541531521511501491481471461451441431421411401391381371361351341331321311301291281271261251241231221211201191181171161151141131121111101091081071061051041031021011009998979695949392919089888786858483828180797877767574737271706968676665646362616059585756555453525150494847464544434241403938373635343332313029282726252423222120191817161514131211109876543210"
_$ (setq i 0 lst '())(repeat 256 (setq lst(cons (itoa i) lst))(setq i(1+ i)))
nil
256
_$ (eval(cons 'STRCAT lst))
; error: internal restriction: too many arguments in function call: STRCAT
_$ edata 发表于 2015-8-26 13:59 static/image/common/back.gif
z版的写法会有bug,如果表超过255,那么eval出错。
学习了!! 本帖最后由 zzl9105 于 2018-5-19 13:02 编辑
我想将变量名bq所代表的字符串写进strcat,应该如何表达呀,bq="abc"
(strcat "我爱学习" " (itos bq) ")结果成了:"我爱学习 (itos bq) "
(strcat "我爱学习" bq)结果成了:我爱学习 bq
bq是这样赋值的
(setq bq (cdr (assoc 1 (entget en)))
Command: (setq bq "abc")
"abc"
Command: (strcat "我爱学习" bq)
"我爱学习abc"
您再思...
学习了。。。
页:
[1]