我正在从本机 DLL 调用一个函数,该函数返回一个char*
指针,如何将返回的指针转换为字符串?
我试过 :
char* c = function();
string s = new string(c);
但它只是返回了一个奇怪的汉字,这不是正确的值c
.
也许本机 DLL 实际上返回的是 ANSI 字符串而不是 Unicode 字符串。在这种情况下,请致电Marshal.PtrToStringAnsi
:
using System.Runtime.InteropServices;
...
string s = Marshal.PtrToStringAnsi((IntPtr)c);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)