我正在使用 gSOAP 生成的代码,并且如果可能的话需要使用已提供的声明。
gSOAP 生成的代码提供了以下原型(prototype):
soap_call___accounts(struct soap *soap, struct _acnt *acnt, struct _resp *resp);
以及以下结构定义:
struct _acnt
{
int sizeacnt;
char **acntNum;
};
在我的调用应用程序中,我需要使用结构成员 acntNum
作为调用函数中 acnt
参数的一部分来发送帐号,例如“00000123”,但是在使用它之前,需要对其进行初始化。
char **acntNum
是如何初始化的?
最佳答案
另请参阅 gSOAP 2.8.1 User Guide 了解更多信息。
您的肥皂函数接受一组帐户。因此,您不仅可以调用帐户“00000123”的soap函数,而且可以在一次调用中调用两个帐户[“00000123”,“00000456”]。
要实现此功能,您不仅必须分配内存,还必须将 size 参数设置为您传递的帐户数量。例如,您可以这样做:
struct acnt Accounts;
char *AccountToCheck = "00000123";
Accounts.sizeacnt=1;
Accounts.acntNum = malloc(1 * sizeof(*Accounts.acntNum));
Accounts.acntNum[0] = AccountToCheck;
soap_call___accounts(soap, &Accounts, &Response);
关于c - 在 C 中初始化 char **string 以在soap结构函数参数中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5385130/