gpt4 book ai didi

c# - 将 C# 字符串数组传递给 C++ DLL 并在那里进行修改

转载 作者:行者123 更新时间:2023-11-30 02:26:20 36 4
gpt4 key购买 nike

<分区>

正如标题所暗示的,我想让一个字符串数组在一个 C++ DLL 中的函数中被描述。

在我的实际尝试中,它无一异常(exception)地运行,但我的 strArray 在 C++ 函数调用后不包含任何对象。

我的 C# 代码:

var strArray = new StringBuilder[100];
for (int i = 0; i < strArray .Length; i++)
{
strArray[i] = new StringBuilder(50);
}
modifyStringInCpp(strArray);

[DllImport(DllFilePath, CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]
private extern static void modifyStringInCpp(StringBuilder[] strA);

我的 C++ 代码:

extern "C" { 
__declspec(dllexport) void __cdecl modifyStringInCpp(char** strA)
{
for (size_t i = 0; i < 100; i++)
{
strcpy(strA[i], "testString");
}
}
}

我需要改变什么?

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com