假设我有一个带有任意参数的函数。例子:
execl(char *path, char *arg0,...,char *argn, 0)功能定义:execl()
因此,无论我向它发送了多少适当的参数(>=3),它都会工作。现在假设我有一个字符串数组,其中包含arg0、arg1、arg2、. argn。
如何使用任意数目的字符串调用此函数。这意味着,如果我有一个字符串大小为3的数组,那么我想调用这样的函数,
execl(char *path, char *arg0,char *arg1, char *arg2, 0)如果我有一个字符串大小为4的数组,那么我想调用这样的函数
execl(char *path, char *arg0,char *arg1, char *arg2,char *arg4, 0)有什么自动的方法吗?我不想使用if条件来做这样的事情.(如果我有数组大小2,调用两个参数函数,如果我有数组大小3,调用一个三个参数函数,等等)。有什么程序吗?请用一个简短的代码解释。
发布于 2015-02-03 01:21:24
如果我正确地理解了您的意思,您将询问如何使用在单个函数中构建的变量数量的参数调用函数。简单地说,你不能。虽然c有各种函数支持,但它是接收而不是调用。也就是说,您可以编写一个函数,该函数接受变量的参数数,但不能将它们传递给另一个function。
注意:我不确定您的execl()代码是否只是为了演示您的问题,还是您在寻找如何使用带有变量参数的exec*()函数。如果是后者,请查看接受字符串数组的execv()。
https://stackoverflow.com/questions/28289663
复制相似问题