此DLL过程接收字符串数组,并根据找到的空终止数简单地返回数组的大小:
__declspec(dllexport) int sendStrings(char charArray[])
{
char* p = charArray;
for (; *p != '\0'; ++p)
{
//MessageBox(NULL, LPTSTR(charArray), TEXT("DLL"), 0);
}
int arraySize = p - charArray;
return arraySize;
}
如何将每个单独的以null结尾的字符串分配给过程中的单独字符串变量。
或者,是否有更好的方法将字符串数组传递给这样的DLL过程?
C#调用例程:
List<string> strArr = new List<string>();
strArr.Add("first");
strArr.Add("second");
strArr.Add("third");
sendStrings(strArr.ToArray());
DLL如何破坏字符串(第一,第二,第三)?