如何从类库中将结构数组返回到控制台应用程序

时间:2015-05-25 06:53:55

标签: c++ arrays dll structure

我有一个结构: -

Test.h

typedef struct employees
{
    char* name[5];
    int empi_id;
};

Test.cpp的 我创建了一个函数,我需要在这些结构中存储值。

int Disp()
{
    employees e[5];
    e[0].empi_id=10;
    e[1].empi_id=100;
    e[2].empi_id=500;
    e[3].empi_id=1000;
    e[4].empi_id=5000;
    return 0;
}

TestDll.cpp 控制台应用程序:

void main()
{
    LoadLibrary(("TestDll.dll"));

    int obj = Disp();
}

我需要将这些结构数组返回到我的控制台应用程序。我想直接在我的控制台应用程序中显示指定的值。我该如何返回它?我可以将这些结构数组作为函数参数发送吗?那我该怎么办?做它。因为我需要发送一个5的数组。 检查下面的链接确实让我知道将值分配给结构但我无法在我的控制台应用程序中显示值。 return an array of structs or an array of struct pointers?

1 个答案:

答案 0 :(得分:1)

将功能签名更改为

int Disp(employees *) ;

没关系。什么是不好的是你如何链接你的DLL。您可以在启动时(它发生在幕后)或使用LoadLibray来讨厌它,但这也需要一个GetProcAddress。第一种方式更容易。它允许您加载DLL,就好像它是一个库。