C++向C#传递字符串

方法一:

  • headfile:
#pragma once
extern "C" __declspec(dllexport) char* SayHelloWorld();
  • cpp file
char* SayHelloWorld(){
	return "hello world";
}
  • C# file
[DllImport("persimmon_dll")]
public static extern IntPtr SayHelloWorld();

//调用
IntPtr ret = SayHelloWorld();
string str = Marshal.PtrToStringAnsi(ret);

方法二

使用时出错,进一步检验后再贴出来

参考

C# 调用 C++ dll 函数 时传递字符串 需要注意的问题

你可能感兴趣的:(C#)