2017-02-28 71 views
-1

我想從C應用程序調用一個可執行文件。這裏是我的代碼:在Linux下的c execl命令ubuntu

execl("/home/ion/workspace/DNS/Debug","DNS","216.58.198.164","A",(char*)NULL); 

其中IP和 「A」 都應該是做argv [1]和argv [2]

這個應用程序中調用DNS應該寫東西的一個文件,但它的當我用這樣的execl調用它時不工作。任何人都可以幫助我嗎?

+0

如果[閱讀'exec'手冊頁](http://man7.org/linux/man- pages/man3/exec.3.html),你會看到參數列表必須以'NULL'指針終止。 –

+0

@Someprogrammerdude仍然無法工作 – joesid

+0

那麼你能否詳細說明「不工作」部分?執行'execl'調用失敗(即它返回'-1')?如果是這樣的話,'errno'的值是什麼(用'perror'打印出來)?如果可能,請嘗試創建[最小,完整和可驗證示例](http://stackoverflow.com/help/mcve)並向我們顯示。 –

回答

1

您的應用程序名稱(DNS)應在第一個參數指定(路徑)

execl("/home/ion/workspace/DNS/Debug/DNS","DNS","216.58.198.164","A",(char*)NULL);