【发布时间】:2013-09-28 10:03:54
【问题描述】:
如何将命令行 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];
}
...
}
谁能指出我正确的方向。
【问题讨论】:
-
简单的方法是
char* saved_arg = strdup(argv[1]);。帮自己一个忙,学习基本的标准库函数。 -
顺便说一句,你可能想写
argv[1][i]或(*(argv+1))[i] -
不要假设你会被传递一个参数;在使用它之前检查您是否(至少)传递了一个参数。
标签: c variables command-line-arguments