c++传CString到c#

来源:互联网 发布:阿里云空间登陆 编辑:程序博客网 时间:2024/06/05 07:54

c++提供给c#的接口要获取CString

c#调用:

IntPtr ptr = new IntPtr();
GetErrorStr( ref ptr);
string str = Marshal.PtrToStringAuto(ptr);
DeleteMem(ptr);// 释放内存

 

c++接口

BOOL WINAPI GetErrorStr( wchar_t** strInfo)
{
 CString str = _T("test");
 int len = sizeof(wchar_t) * (str.GetLength() + 1) ;
 *strInfo = new wchar_t[len];
 memset(*strInfo, 0, len);
 wcscpy_s(*strInfo, len, CT2CW(str));

 return TRUE;
}

 

BOOL WINAPI DeleteMem(void *data)
{
 if (data != NULL)
 {
  delete data;
  data = NULL;
 }

 return TRUE;
}

 

 

0 0
原创粉丝点击