传递给命令行程序的main方法的参数是什么:
int main(int argc, const char * argv[])
第一个int是什么意思?
第二个参数是什么,它是一个字符数组吗?
如何使用这些?
此外,实际使用的是命令行项目类型,而不是使用它来学习obj-c,即练习。
发布于 2011-01-02 05:22:52
argc
表示“参数计数”。它表示有多少参数被传递到可执行文件中。argv
的意思是“参数值”。它是一个指向字符数组的指针。或者以另一种方式思考,它是一个C字符串数组(因为C字符串只是字符数组)。
因此,如果你有一个程序"foo“,并像这样执行它:
foo -bar baz -theAnswer 42
然后在您的main()
函数中,argc
将为5,argv
将为:
argv[0] = "/full/path/to/foo";
argv[1] = "-bar";
argv[2] = "baz";
argv[3] = "-theAnswer";
argv[4] = "42";
发布于 2011-01-02 07:11:04
main()
的参数是一种unix约定,用于在执行程序时访问命令行上给出的参数。在Cocoa应用程序中,您可以用普通的C方式访问它们,或者可以使用NSProcessInfo
的-arguments
方法在NSString
对象的NSArray
中获取它们,或者使用NSUserDefaults
将它们作为字典中的值来获取。
发布于 2011-01-02 05:29:26
只是补充一下其他答案- Objective-C同时针对OS X和iOS。虽然iOS命令行应用程序没有太多价值,但OS上的外壳程序仍然被广泛使用,并且有很多人编写命令行工具。
https://stackoverflow.com/questions/4575801
复制相似问题