void* pvoid 如何转string
通过指针找到对应地址的值,最终获得string值!!
指针
------解决方案--------------------void *p=...;
IntPtr ip=new IntPtr(p);
string str=Marshal.PtrToStringBSTR(ip); ------解决方案--------------------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());
}