您的位置:首页 > 编程语言 > C语言/C++

c++传CString到c#

2015-09-08 19:30 441 查看
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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: