求助:关于C 编程 命令行参数类型的问题

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
头像
timmy26
帖子: 19
注册时间: 2008-10-24 23:28

求助:关于C 编程 命令行参数类型的问题

#1

帖子 timmy26 » 2009-01-18 17:38

在C中 命令行参数是否只能为 字符串指针数组?

小弟的一个C程序需要从命令行得到整型的参数
但是 当我输入
./myprogram 3 时,得到的却是 3 的ascii 值 或者是一个地址值(视代码情况而定,因为我修改了多次)
请问 我该如何才能得到我需要的整数呢?
谢谢!
头像
peachcolor
帖子: 898
注册时间: 2006-05-20 14:03

Re: 求助:关于C 编程 命令行参数类型的问题

#2

帖子 peachcolor » 2009-01-18 17:53

一般是这么写的
int main(int argc, char **argv)

argv 是字符参数数组,比如你那个例子,argv就是{"myprogram", "3"}
argc 是参数个数,你的例子里argc=2

可以用atoi函数将字符串转为int,比如
int param = atoi(argv[1]);
头像
lerosua
论坛版主
帖子: 8455
注册时间: 2007-11-29 9:41
联系:

Re: 求助:关于C 编程 命令行参数类型的问题

#3

帖子 lerosua » 2009-01-18 18:08

and

代码: 全选

int main(int argc,char *argv[])
头像
timmy26
帖子: 19
注册时间: 2008-10-24 23:28

Re: 求助:关于C 编程 命令行参数类型的问题

#4

帖子 timmy26 » 2009-01-18 18:52

谢谢!
回复