Cadence Skill 论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5716|回复: 7

[求助] 请问,用fprintf(op "%L" list)输出的list,怎么读取进来呢?

[复制链接]
发表于 2015-9-9 09:50:51 | 显示全部楼层 |阅读模式
目的是list在调用的Form内也能使用
但是即使我list放在函数外(也就是设置成全局变量),在Form函数中也会removed
所以我想用
fprintf(op "%L" list)输出到文件,然后用
gets(list p)读取,但是读取到的是字符串,首尾自动加了"
有没有其他的方法,直接读取list
或者list参数能直接传递到Form函数中?
发表于 2015-9-9 10:21:16 | 显示全部楼层
我记得用lineread可以读回list。
 楼主| 发表于 2015-9-9 10:45:58 | 显示全部楼层
chrysalis 发表于 2015-9-9 10:21
我记得用lineread可以读回list。

我试过
原本list是
((123 234) (345 456))
用lineread后
((((123)(234)) ((345)(456))))
这个怎么处理成原来的list呢?
发表于 2015-9-9 10:46:54 | 显示全部楼层
leilei4908 发表于 2015-9-9 10:45
我试过
原本list是
((123 234) (345 456))

car,可以获取list的第一个元素。
 楼主| 发表于 2015-9-9 10:52:22 | 显示全部楼层
chrysalis 发表于 2015-9-9 10:46
car,可以获取list的第一个元素。

但是原本的(123 234)
变成了((123) (234))
发表于 2015-9-9 10:53:04 | 显示全部楼层
chrysalis 发表于 2015-9-9 10:46
car,可以获取list的第一个元素。

我又实际试了一下,结果如下:
Skill > a = list('(1 2) '(2 3))
((1 2)
    (2 3)
)
Skill > fprintf(port, "%L", a)
t
Skill > close(port)
t
Skill > aport = infile(file)
port:"C:/Users/admin/AppData/Local/Temp/#Taaaaas01204.tmp"
Skill > b=lineread(aport)
(((1 2)
        (2 3)
    )
)
Skill > car(b)
((1 2)
    (2 3)
)
发表于 2015-9-9 10:55:49 | 显示全部楼层
leilei4908 发表于 2015-9-9 10:52
但是原本的(123 234)
变成了((123) (234))

见#6
lineread不应该会把(123 234)读成((123) (234))
或者把你的源代码发上来看看
 楼主| 发表于 2015-9-9 11:09:02 | 显示全部楼层
chrysalis 发表于 2015-9-9 10:55
见#6
lineread不应该会把(123 234)读成((123) (234))
或者把你的源代码发上来看看

我觉得我的重点不应该放在这里
我目的是保留dbid,在FormList中使用axlZoomToDbid,目前发现打开Form后dbid都removed
这样即使获取到了原来的dbid,也是不能选中放大的
我是不是应该一开始就打开Form,然后再获取dbid呢?
在哪些情况下dbid会removed?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|网站地图|Cadence Skill 论坛 ( 蜀ICP备13024417号 )

GMT+8, 2024-5-17 04:29 , Processed in 0.137084 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表