2017-02-28 75 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);