Chinaunix首页 | 论坛 | 博客
  • 博客访问: 4596595
  • 博文数量: 671
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 7310
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-14 09:56
文章分类

全部博文(671)

文章存档

2011年(1)

2010年(2)

2009年(24)

2008年(271)

2007年(319)

2006年(54)

我的朋友

分类: C/C++

2007-02-24 14:15:08

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类型(强制类型转换)

阅读(1980) | 评论(0) | 转发(0) |
0

上一篇:C/C++头文件一览

下一篇:VC的环境设置

给主人留下些什么吧!~~