0

こんにちは、次のようにして、このシェル コマンド「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 forkとを参照してください。man 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 に答える