首页 > Windows开发 > 详细

c# 获取非托管指针长度

时间:2016-06-15 12:33:18      阅读:646      评论:0      收藏:0      [点我收藏+]
public List<string> GetPDFValues()
        {
            List<string> strs = new List<string>();
            unsafe
            {
                var len = 0;
                //调用c++ 返回char**
                var a = GaussianDistributionServiceProxy.GetPDFValues();

                

                var cx = 0;
//获取char**指针长度 start
while (true) { var result = Marshal.PtrToStringAnsi((IntPtr)(*(a + cx))); if (result == null) { len = cx - 1; cx = 0; break; } cx++; }
         
//获取char**指针长度 end
//char** 转换为List<string>
for (int i = 0; i < len; i++)
{
string s = Marshal.PtrToStringAnsi((IntPtr)a[i]);
strs.Add(s); }
}
return strs;
}

 

c# 获取非托管指针长度

原文:http://www.cnblogs.com/kexb/p/5586945.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!