c - 在 C 中初始化 char **string 以在soap结构函数参数中使用

标签 c pointers initialization

我正在使用 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/

相关文章:

c - 如何使用最少的 c 语言库跟踪鼠标输入

c - 如何编辑以下某个字符?

c - 有关 scanf 和内存分配的帮助

c++ - 找不到标识符错误 C++

c++ - C++中结构数组的初始化

c++ - 索引 wchar_t 数组中的字符

字符 *a, *b; (b-a) 是什么类型,我该如何打印它?

C++:如何分配和填充通过引用传递的结构的动态数组?

c# - 异步初始化及其单元测试

c++ - 关于使用#pragma region 在 Visual Studio 中折叠代码块