繁体   English   中英

将字符指针数组作为参数传递时遇到麻烦

[英]trouble in passing character pointer array as argument

我只是在学习目标C,并获得了包装C库以通过目标C调用的任务。在将字符指针数组传递给c函数时遇到了麻烦。 基本上我是通过目标c调用c程序的主要方法,但无法传递参数。 以下是我尝试从目标c调用的函数:

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

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

请帮助我如何通过目标C调用它(确保我需要学习C语言中的Pointer)。

问候,议员

这并不难,并且您不需要对指针了解太多:

// 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。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM