2014-03-02 149 views

回答

0

我发现这个解决方案的问题,它在我的情况。

char *args[] = {"/usr/bin/wget", "-P","./Folder", "http://www.google.com", (char *) 0 };

execv("/usr/bin/wget", args);

而另一解决方案是直接运行的命令与系统功能,如:

system(wget -P ./Folder http://www.google.com)

1

execl("/usr/bin/wget", "-P", "./Folder", "http://www.google.com", NULL);

除非你有使用EXEC,我建议使用来自libc的system,因为它更便于携带(如果你决定你想将它)。

+0

我在运行给定命令时收到此警告,以及它不是下载给定文件夹中的页面。 'code.c:在函数'main'中: code.c:47:8:警告:在函数调用中缺少哨兵[-Wformat]' –

+0

哦,你需要在参数列表末尾有一个NULL。我会编辑以反映这一点。 – Tyler

+0

现在我已经运行了这个命令,但它正在当前工作目录中下载页面。但我想下载文件夹内的页面。 'execl(“/ usr/bin/wget”,“-P”,“./Folder”,“http://www.google.com”,NULL);' –