假如现在有一个类型为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类的重载函数!