当前位置: 技术问答>linux和unix
./ 执行程序时怎么带参数
来源: 互联网 发布时间:2016-04-06
本文导语: 比如说 我已经写好的一个C main方法int main(char *argv[]) 需要接受char *,int等类型的参数 我应该怎么传呢? 在linnux命令行中 我这样写行吗? ./mypro admin admin 1 mypro 是我已经gcc编译好的程序 admin admin 1 是...
比如说 我已经写好的一个C main方法int main(char *argv[])
需要接受char *,int等类型的参数
我应该怎么传呢?
在linnux命令行中
我这样写行吗?
./mypro admin admin 1
mypro 是我已经gcc编译好的程序 admin admin 1 是我要传给程序的3个参数
可是这样传参有错误(部排除程序错误) 这样传递的参数 在main内部还需要分配空间吗?
需要接受char *,int等类型的参数
我应该怎么传呢?
在linnux命令行中
我这样写行吗?
./mypro admin admin 1
mypro 是我已经gcc编译好的程序 admin admin 1 是我要传给程序的3个参数
可是这样传参有错误(部排除程序错误) 这样传递的参数 在main内部还需要分配空间吗?
|
|
很明显,main 函数的参数是固定的
第一个:参数个数 int argc
第二个:参数 char *argv[] 或 char **argv
第三个:环境变量
常见的: int main(int argc, char **argv)
第一个:参数个数 int argc
第二个:参数 char *argv[] 或 char **argv
第三个:环境变量
常见的: int main(int argc, char **argv)
|
是这样写的,出错的话还是查查程序问题吧。
|
我这样写行吗?
./mypro admin admin 1
这样写就对了
如果PATH变量设置了当前目录
用mypro admin admin 1也可以的
./mypro admin admin 1
这样写就对了
如果PATH变量设置了当前目录
用mypro admin admin 1也可以的
|
我做的时候,
首先定义main函数是这样定义的
int main(int argc char *argv[])
取参数时
argv[1] = admin(第一个参数)
argv[2] = admin(第二个参数)
argv[3] = 1(第三个)
当然还要注意类型装换
因为这是字符串
首先定义main函数是这样定义的
int main(int argc char *argv[])
取参数时
argv[1] = admin(第一个参数)
argv[2] = admin(第二个参数)
argv[3] = 1(第三个)
当然还要注意类型装换
因为这是字符串
|
可以直接传,在程序要引用用argc[1],argv[2],argv[3]引用就可以了
|
这样传参数没错,代码有问题