C-带有触摸命令的execve函数不起作用

我正在尝试通过 execve() 运行 touch 命令,这是我的代码:

#include <stdio.h>
#include <unistd.h>

int main()
{
char * c[2]={"/usr/bin/touch","test.txt"};
execve(c[0],c,NULL);
return 0;   
} 

但似乎文件没有被触及或日期没有被更新。来人帮帮我。

回答

数组的最后一个元素需要为NULL,这样exec调用才能算出数组的长度。

所以改变

char * c[2]={"/usr/bin/touch","test.txt"};

char * c[3]={"/usr/bin/touch","test.txt",NULL};


以上是C-带有触摸命令的execve函数不起作用的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>