在c#中调用dll时,使用参数接收字符串数据
//c++代码
//头文件代码
extern "C" _declspec(dllexport) void test(char* ret);
//cpp代码
void test(char* ret)
{
string ret_s = "abc";
const char* str = ret_s.data();
strcpy(ret, str); //预处理器添加_CRT_SECURE_NO_WARNINGS
}
//c#代码
[DllImport("Dll1_kh.dll")]
public static extern void test(StringBuilder ret);
StringBuilder str_builder = new StringBuilder();
str_builder.Capacity = 100;
test(str_builder);
Console.WriteLine(str_builder); //此处输出"abc"