您好我正在尝试执行此shell命令“rm -rf test”:
#include <stdio.h>
#include <stdlib.h>
char name[] = "test";
char buffer[64];
int main()
{
snprintf(buffer,sizeof(buffer),"rm -rf s% s%", name);
system(buffer);
return 0;
}
它将编译并运行,但不会删除目录
任何帮助将不胜感激!
答案 0 :(得分:1)
不要使用system
来运行外部进程,尤其是在您传递的命令行不是常量的情况下。它只会让你的生活变得悲惨。请参阅man fork
和man exec
了解正确的方法。
答案 1 :(得分:-1)
#include <stdio.h>
#include <stdlib.h>
char name[] = "test";
char buffer[64];
int main()
{
snprintf(buffer,sizeof(buffer),"rm -rf %s", name);
system(buffer);
return 0;
}
它对我有用。