-1

次のような文字列があります:「arg1 arg2 arg3」をexecに送信します。ただし、execvpe はコマンド引数としてポインターの配列を取ります。arg1、arg2、および arg3 を取得して、それらをポインターの配列に入れる方法はありますか?

strtok でそれらを分離しましたが、次に何をすればよいかわかりません... *argv[x] がそれらを待っています。

ありがとう、J

4

1 に答える 1

1

strtokはすでに各項目へのポインターを返しているので、必要なのは、返された値を取得strtokしてargv配列に配置することだけです。

char *str = "arg1 arg2 arg3";
char *argv[3];

int i = 0;
argv[i] = strtok(args, " ");
while (argv[i] != NULL) {
    i++;
    argv[i] = strtok(NULL, " ");
 }
于 2013-02-16T23:46:31.177 に答える