在execl()函数icC语言中使用rmlinux命令
希望一切顺利...我正在尝试编写在 C 语言的 execl 中使用 execl 的代码,但是当我放置文件目录时它不起作用。代码是:
#include<stdio.h>
#include<unistd.h>
#include<stdlib.h>
#include<sys/wait.h>
int main(int argc,char* argv[]){
int n,m,x;
n=fork();
if(n==0){
execl("/bin/rm","rm /home/mazenas/Desktop/folder/","f.txt",NULL);
}
else{
wait(&m);
printf("end of Programmn");
}
return 0;
}
帮帮我吧!
回答
的参数execl()指定要执行的程序的命令行参数。
execl("/bin/rm","rm /home/mazenas/Desktop/folder/","f.txt",NULL);
意味着执行这个:
"rm /home/mazenas/Desktop/folder/" "f.txt"
如果要执行此命令:
rm "/home/mazenas/Desktop/folder/f.txt"
你应该写:
execl("/bin/rm", "rm", "/home/mazenas/Desktop/folder/f.txt", NULL);