将命令行arg复制到变量C

ojh*_*ins 1 c variables command-line-arguments

如何将命令行arg复制到变量中c?如果是这样做的话.

myprog "Hello, world!"

我想将参数的值存储在char变量中.不确定我是否朝着正确的方向前进.

假设总是只传递1个参数.

int main (int argc, char  *argv[]){

  int len;
  len=strlen(argv[1]);
  char *array;

  array= malloc((len +1) * sizeof(char));
  int i;
  for(i=0;i<=len;i++){

    // This does not work... am a little lost
    array[i]=*(argv+1)[i];

  }
...
}
Run Code Online (Sandbox Code Playgroud)

有人能指出我正确的方向.

Dar*_*tis 5

如果你不打算操纵参数,你可以复制指针,如下所示:

int main(int argc, char* argv[]) {
    char* array;

    array = argv[1];

    ...
}
Run Code Online (Sandbox Code Playgroud)

否则,您可以像这样制作字符串的副本:

int main(int argc, char* argv[]) {
    char* array;

    array = strdup(argv[1]);
}
Run Code Online (Sandbox Code Playgroud)