我正在为交易工具(MultiCharts)开发一个实用程序 DLL。该库需要在 C++ 中构建,该工具才能使用它。我的问题是我需要编写一个可以返回类型为:的多维数组的方法char*
。使用char*
而不是字符串的原因是该工具与字符串数据类型不兼容。所以char*
必须使用(兼容的)。
我进行了一些研究,发现了一些代码片段,但似乎没有一个对我有用。
char ***signals = new char**[1024];
for (int i=0; i<data.size(); i++)
{
signals[i] = new char*[8];
for (int j=0; j<8; j++)
{
string instance;
char* result;
instance = data[i][j];
result = new char[instance.size() + 1];
result[instance.size()] = 0;
memcpy(result, instance.c_str(), instance.size());
signals[i][j] = result;
}
}
上面的代码片段不能正常工作,只存储垃圾值。我将它作为控制台应用程序运行;这是调试信息的屏幕截图:
创建的数据结构总行数 = 1024 和 8 列(系统要求)。此处使用的数据是一个向量,其中包含需要传输到工具的值。
任何人有任何想法如何使这项工作?