0

您好,我正在尝试通过执行以下操作来执行此 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;
}

它将编译并运行,但不会删除目录

任何帮助将不胜感激!

4

2 回答 2

1

不要system用于运行外部进程,尤其是在您传递的命令行不是恒定的情况下。它只会让你的生活变得悲惨。请参阅man forkman exec了解执行此操作的正确方法。

于 2013-05-02T00:21:15.943 回答
-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;
}

这个对我有用。

于 2013-05-02T01:21:08.760 回答