请教char[]类型变量和指针变量转换的问题 如果在一个char[100]中保存了类A的一个对象a的指针,请问如何将这个char[]中的字符重新转换为A的指针呢?谢谢!问题:A *a = new A; char[100] cPointer; sprintf(cPointer,"%x",a);如何将cPointer中的内容取出来做为A的指针呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 A *a = new A; char[100] cPointer; sprintf(cPointer,"%x",a); //你这样保存的是a指向的值 而非a指针的地址。 可以这么用 A *a = new A; char[100] cPointer; sprintf(cPointer,"%x",&a); 到用的时候 cPointer....//首先转换为16进制值,此处省略,自己转换 char **p = NULL; *p = lPointAddr;//转换后的32位LONG值。 // 这时候就获取到了啊 A *a = new A; char[100] cPointer; sprintf(cPointer,"%x",a); A *b=(A*)strtoul(cPointer,NULL,16); 就是一个十六进制数的字符串转换嘛AAAA要转换成0xaaaa。 指针不是4个字节吗?干嘛放到char类型里面去?为什么不用C++提供的方法,要用C的呢?用int temp=reindivter_cast<int>(a)转换成整数,保存整数不行吗? 线程进行中时使用malloc分配内存,这时要是用户按了关闭窗口按钮,会不会发生内泄露?应该怎么处理? 生成项目,出现的全是afxsock.h的错误,请指教一下。 求本VC++学习OpenGL的好书 终于升到七级了,放分庆祝一下!! 请教,这是那种包[网编] richedit问题??? 请大家看看为何我的打印不对? 如何通过Api函数实现windows的自动关闭系统功能? 简单问题这个函数放在那里 0xC0000005:Access Violation 怎样画一个看起来比较"厚"的图形? 下午面试,聚众散分!!
A *a = new A;
char[100] cPointer;
sprintf(cPointer,"%x",a); //你这样保存的是a指向的值 而非a指针的地址。
可以这么用
A *a = new A;
char[100] cPointer;
sprintf(cPointer,"%x",&a);
到用的时候
cPointer....//首先转换为16进制值,此处省略,自己转换
char **p = NULL;
*p = lPointAddr;//转换后的32位LONG值。
// 这时候就获取到了啊
char[100] cPointer;
sprintf(cPointer,"%x",a);
A *b=(A*)strtoul(cPointer,NULL,16);
为什么不用C++提供的方法,要用C的呢?
用int temp=reindivter_cast<int>(a)转换成整数,保存整数不行吗?