LPVOID是一个没有类型的指针,也就是说你可以将任意类型的指针赋值给LPVOID类型的变量(一般作为传递),然后在使用的时候在转换回来。
例如:
class CMyClass
{
void Start();
static UINT StartThread(LPVOID lParam);
};
void CMyClass::Start()
{
AfxBeginThread(StartThread, this);
}
UINT CMyClass::StartThread(LPVOID lParam)
{
CMyClass * pMyClass = (CMyClass*)lParam;
...
return 0;
}
LPVOID 和CString 的转换
CString str("123");
LPSTR lpstr=str.GetBuffer();//这个不能用于Unicode (LPWSTR)
LPVOID lpvoid=(LPVOID)lpstr;
str.ReleaseBuffer();
思路:
先取得指向CString对象里的内容的指针
LPSTR lpstr = str.GetBuffer();
然后将这个指针转换成LPVOID类型(强制类型转换)
阅读(2029) | 评论(0) | 转发(0) |