【发布时间】:2012-12-24 16:56:07
【问题描述】:
是否可以将CString 转换为void*。我做了一个空指针并将其指向某个对象。现在我把它保存在CString 中。现在我想从CString 转换回void*。
void* pPointer = &SomeObject;
CString myString;
myString.Format(_T("%x"), pPointer);
//void* anotherPointer = (void*)myString;
【问题讨论】:
-
您将void指针的地址作为字符串保存在myString中,并且没有将指针强制转换为CString,因此没有强制返回。
-
@mgr 如果你说的是 %d 那么这是一个打字错误,我用了 %x,我应该用别的吗,
-
@Faisal Hafeez 我只是不明白为什么要将指针的地址存储在字符串中。如果 pPointer 是 CString* 你可以做 CString* myString = (CString*)pPointer,但是如果 pPointer 是别的东西,这将失败。
-
在我看来,他想将一些指针存储到一个字符串中(作为一个十六进制整数),然后将其解析回来并稍后在代码中使用。
-
我想保存 SomeObject 的地址并将其保存在一个字符串中,稍后我想从字符串中返回该地址。
标签: c++ windows type-conversion void-pointers cstring