EDA365电子工程师网

标题: 執行錯誤的問題 [打印本页]

作者: penny190    时间: 2016-10-7 11:29
标题: 執行錯誤的問題
不好意思  ~~  各位大大
想請問執行 skill 時,出現
E- *Error* fprintf/sprintf: format spec. incompatible with data - "Format is '%s', argument #1 is nil"

想請問是甚麼意思呢?

謝謝

作者: jet2001    时间: 2016-10-7 11:38
當你抓到的是空的資料時  fprintf/sprintf 輸出就會有問題
作者: jet2001    时间: 2016-10-7 11:40
可以先判斷是否為nil 再printf
example:
if(_sym1!=nil then printf("*** dump %s : %s symbol & device ***\n" car(_sym1)->refdes car(_sym1)
作者: penny190    时间: 2016-10-7 13:36
本帖最后由 penny190 于 2016-10-7 13:57 编辑

謝謝說明喔  ~~

作者: jet2001    时间: 2016-10-7 14:08
本帖最后由 jet2001 于 2016-10-7 14:28 编辑

\n 是跳下一行 , 每個%s 後面都需給一個變數 , 前半段有12個%s 所以後面有給12個字串
新的有6個字串 所以只能給6個%s
作者: penny190    时间: 2016-10-7 14:33
不好意思 ~~  你的意思是這樣嗎?

fprintf( outport , "%s\n\n%s\n%s\n\n%s\n%s\n%s\n" ,
                                        "COMPONENT" ,
                                        "REFDES != ''" , "SYM_MIRROR != ''" ,
                                        "REFDES" , "SYM_MIRROR" , "END")

作者: jet2001    时间: 2016-10-7 15:06
procedure(_test()
outport=outfile("_test.log")
fprintf( outport , "%s\n\n%s\n%s\n\n%s\n%s\n%s\n" ,
                                        "COMPONENT" ,
                                        "REFDES != ''" , "SYM_MIRROR != ''" ,
                                        "REFDES" , "SYM_MIRROR" , "END")
close(outport)
); load("_test.il")

你的輸出_test.log會是:
COMPONENT

REFDES != ''
SYM_MIRROR != ''

REFDES
SYM_MIRROR
END




欢迎光临 EDA365电子工程师网 (https://bbs.elecnest.cn/) Powered by Discuz! X3.2