关于main函数传参数的一些问题

嗯,这里是简介,主题配置内可以修改,如留空则不显示

关于main函数传参数的一些问题

之前在win环境下写程序很少使用main函数传递参数,一般需要传递参数的时候都是只要在终端输入就可以了,一般使用的函数是scanf等输入,

最近在做助教的过程中遇到需要在linux下写程序,都是需要使用main函数传递参数的,main函数的标准的写法是:int main(int argc,char *argv[]),第一个表示的是参数的个数,在调用main函数的时候一般不需要填写,而argv就是真正的参数了,argv是字符串数组,因此可以传递几乎所有的用户需要的参数,
如:./consumer.out 123 tes 
在这里需要说明的是我在查资料的过程中大多查到的都是win下面的资料,虽然没有试验,但是我感觉win下面的机制和linux下面的机制是不一样的,如上面的输入,在linux下面的情况应该是:
argc  3
argv[0]  ./consumer.out
argv[1]  123
argv[2]  tes
在查资料的过程中我发现win的平台应该是如下:(我没有尝试,想使用的自己尝试一下)
argc 2
argv[0]  123
argv[1]  tes
另外需要注意的是:main函数传递的参数argv是字符串数组,获取的一个argv[1]是一个字符串,不能直接使用,也不适合直接转换,如果是整型数据的话就需要使用字符串转为整型数据的函数,在c语言中有自带的转换函数:int atoi(char *)
因为我只用到这个函数,其他的当使用到的时候再查不迟。
  


发表评论

必填

选填

选填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Hello world. 豫ICP备16008819号-1.

Power by Z-BlogPHP  Theme by wzdaxue