解决方案 »

  1.   

    void *p=...;
                IntPtr ip=new IntPtr(p);
                Marshal.PtrToStringBSTR(ip);
      

  2.   

    void *p=...;
                 IntPtr ip=new IntPtr(p);
                 string str=Marshal.PtrToStringBSTR(ip);
     
      

  3.   

    string value=PtrToStringAnsi(inptr);
      

  4.   

    1、修改工程配置工程中默认的配置是不支持代码的非安全性的,如果我们想使用指针就要修改这个默认的设置。否则我们在编译的时候就会出现“不安全代码只会在使用/unsafe编译的情况下出现”。具体的设置如下图所示。
    2、定义非安全代码
    在C#中如果想使用指针就需要将代码定义为unsafe。unsafe是C#中的一个关键字,我们可以将一个类、一个方法、代码块或者字段标记为unsafe。public unsafe void Test()
            {
                int i=10;
                int k;
                //定义指针
                int *j;
                //给指针赋值
                j=&i;
                //取的指针的值            
                k=*j+1;
                MessageBox.Show(k.ToString());
            }
      

  5.   

    额,大意了。谢谢帮忙;
    那如果反过来呢,string怎么转void*??
      

  6.   

    相反 string怎么转void* 有人知道吗,额外给分!无人知道结贴了!
      

  7.   

    那我如何用string 接收这个的值 呢。