首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Objective-c主程序,什么是: int argc,const char * argv[]

Objective-c主程序,什么是: int argc,const char * argv[]
EN

Stack Overflow用户
提问于 2011-01-02 05:14:06
回答 5查看 28.1K关注 0票数 20

传递给命令行程序的main方法的参数是什么:

代码语言:javascript
复制
int main(int argc, const char * argv[])

第一个int是什么意思?

第二个参数是什么,它是一个字符数组吗?

如何使用这些?

此外,实际使用的是命令行项目类型,而不是使用它来学习obj-c,即练习。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2011-01-02 05:22:52

argc表示“参数计数”。它表示有多少参数被传递到可执行文件中。argv的意思是“参数值”。它是一个指向字符数组的指针。或者以另一种方式思考,它是一个C字符串数组(因为C字符串只是字符数组)。

因此,如果你有一个程序"foo“,并像这样执行它:

代码语言:javascript
复制
foo -bar baz -theAnswer 42

然后在您的main()函数中,argc将为5,argv将为:

代码语言:javascript
复制
argv[0] = "/full/path/to/foo";
argv[1] = "-bar";
argv[2] = "baz";
argv[3] = "-theAnswer";
argv[4] = "42";
票数 31
EN

Stack Overflow用户

发布于 2011-01-02 07:11:04

main()的参数是一种unix约定,用于在执行程序时访问命令行上给出的参数。在Cocoa应用程序中,您可以用普通的C方式访问它们,或者可以使用NSProcessInfo的-arguments方法在NSString对象的NSArray中获取它们,或者使用NSUserDefaults将它们作为字典中的值来获取。

票数 5
EN

Stack Overflow用户

发布于 2011-01-02 05:29:26

只是补充一下其他答案- Objective-C同时针对OS X和iOS。虽然iOS命令行应用程序没有太多价值,但OS上的外壳程序仍然被广泛使用,并且有很多人编写命令行工具。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4575801

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档