大神帮忙看下 我这电脑大神在线咨询4760买的亏吗

当前位置:&&技术问答>
linux下,在调用main()函数之前怎样得到命令行参数argc和argv??『比如在main()前面构造全局对象时』
&&&&来源:&互联网& 发布时间:
&&&&本文导语:&
argc, argv不是在main()调用时读取得到么? 小弟浅陋,学习。
请大家也帮忙解答一个问题:
http://community.csdn.net/Expert/topic/.xml?temp=.759701
需要吗?你在main之...
argc, argv不是在main()调用时读取得到么? 小弟浅陋,学习。
请大家也帮忙解答一个问题:
http://community.csdn.net/Expert/topic/.xml?temp=.759701
需要吗?你在main之前定义全局变量,然后在main里面赋值不可以吗?
不知道,学习,帮顶
getcmdline
全局对象在main前申明成指针,然后在main里面构造
读取 /proc/self/cmdline的内容并分析。
也通过参数传递进来好了
没有必要在main之前使用argc和argv呀,定义全局对象后也只能在main里面使用呀,main是程序的主调入口。。定义全局对象后在main中赋值成argc,argv参数不就可以啦。。
在main之前使用argc和argv也是不允许的,这种说法有问题。不可能还有比main更先执行的函数。
要想使用也只有在程序之外利用shell获取。
您可能感兴趣的文章:
本站()旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。本站()站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
相关文章推荐
特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!
(C)2012-,E-mail:www_169it_(请将#改为@)19247人阅读
linux(36)
&&&& 之前曾经使用过很多次c语言的命令行参数了,但是总是每次使用的时候都不太确定,需要重新查资料,这次来个总结。c语言的命令行参数非常简单,只需要一个简单的例子就可以说明:
#include &stdio.h&
void main(int argc,char** argv)
printf(&%d\n&,argc);
printf(&%s\n&,argv[0]);
printf(&%s\n&,argv[1]);
printf(&%s\n&,argv[2]);
&&&& 在上面的例子中,我们给main函数传递两个参数,argc和argv。argc是int类型的,它表示的是命令行参数的个数。不许要用户传递,它会根据用户从命令行输入的参数个数,自动确定。argv是char**类型的,它的作用是存储用户从命令行传递进来的参数。它的第一个成员是用户运行的程序名字。
&&&& 对于上面的例子,我们将其保存为test.c,用gcc编译生成目标文件为test,测试如下:
&&&& (1)我们值在命令行下直接运行程序,没有传递其它任何参数:
&&&&& 运行结果如下:
&&&& 第一个输出的是argc,因为我们只输入了./test,所以argc为1,即只有一个命令行参数。后面输出的第一个命令行参数也是./test。接着程序就出错了,因为后面已经没有第二个和第三个参数了,在写实际的应用时,应注意对这一部分进行容错处理。
&&&& (2)我们在命令行下输入:
./test hello world
&&&& 可以看到argc为3,第一个参数为./test,第二个参数为hello,第三个参数为world。
&&&& (3)我们继续输入:
./test hello world hello world
&&&& 可以看到这时,argc变为5,argv指数出了前面三个参数,当然还可以把后面的两个参数也进行输出。
&&&& 如果命令行中传递的一个参数包括空格,就需要用用“ ”将参数扩起来例如:
./test &hello world& &hello world&
&&&& 我们将hello world整体当作一个参数传递,就需要使用“hello& world”。
&&&& 需要注意的是argv的类型可以是char ** argv,char argv[ ][ ],char* argv[ ]。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:517583次
积分:4989
积分:4989
排名:第4749名
原创:86篇
转载:20篇
评论:206条
文章:15篇
阅读:85498
文章:15篇
阅读:20057
(1)(1)(2)(6)(1)(3)(5)(1)(4)(2)(11)(6)(17)(17)(30)

我要回帖

更多关于 电脑大神在线咨询 的文章

 

随机推荐