qintangtao

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

假如现在有一个类型为LPARAM的变量lParam,要将其转化为CString类型,可以:

①CString str((char*)lParam);    --构造函数

②CString str;
 str=(char*)lParam;  --运算符重载

③使用CString的格式化函数:
CString str;
str.format("%s", (char*)iParam);

④一个行不通的办法!但是仔细一看却和方法②相差无几。

CString str=(char*)lParam; --拷贝构造函数    (此时会编译不成功。提示:“初始化”: 无法从“char *”转换为“ATL::CStringT<BaseType,StringTraits>”)

原因是:CString类没有可以将char * 型的转化为CString型的拷贝构造函数。然而,CString的operate=有可以将char *型的转化为CString类的重载函数!

posted on 2012-12-19 16:41  qintangtao  阅读(5936)  评论(0编辑  收藏  举报