传递字符指针数组作为参数的麻烦

时间:2011-12-11 03:21:10

标签: objective-c c cocoa

我只是在学习目标C并得到一个赋值C包来通过目标C调用。我在将字符指针数组传递给c函数时遇到了麻烦。基本上我通过目标c调用c程序的主要方法,但无法传递参数。下面是我试图从目标c调用的函数:

int test_main( int argc, char *argv[] )

其中 argv 是从控制台传递的命令行参数,但现在我想从目标c代码传递这些参数。 C程序的命令行语法是: ./ test -karg1 -larg2 -rarg3 ....

请帮助我如何通过目标C调用它(我确实需要学习C中的指针)。

此致 MP

1 个答案:

答案 0 :(得分:1)

这不是太难,你不需要了解指针:

// Initialize an array of four constant C strings
// (that is, pointers to zero-terminated char arrays)
const char* argv[] = {"./test", "-karg1", "-larg2", "-rarg3"};
// Call your test function
int res = test_main(4, argv);

请注意,初始参数(位置0)是程序的名称。这就是C程序所期望的:他们的第一个“实际”论点是在第1位。