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

Bla*_*man 18 objective-c

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

int main(int argc, const char * argv[])
Run Code Online (Sandbox Code Playgroud)

什么是第一个int意思?

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

如何使用这些?

另外,实际使用的是命令行项目类型,而不是用它来学习对象即练习.

Dav*_*ong 29

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

所以如果你有一个程序"foo"并像这样执行它:

foo -bar baz -theAnswer 42
Run Code Online (Sandbox Code Playgroud)

然后在你的main()函数中,argc将是5,并将argv:

argv[0] = "/full/path/to/foo";
argv[1] = "-bar";
argv[2] = "baz";
argv[3] = "-theAnswer";
argv[4] = "42";
Run Code Online (Sandbox Code Playgroud)


NSR*_*der 5

参数main()是一个unix约定,用于在执行程序时访问命令行中给出的参数.在Cocoa程序,你可以访问它们平原旧的C方式,也可以使用NSProcessInfo的- arguments方法,让他们在NSArrayNSString物品,或NSUserDefaults让他们在一个字典中的值.