1. 程式人生 > >C++:LPARAM型別轉化為CString型別

C++:LPARAM型別轉化為CString型別

高版本的VS中訊息響應機制十分嚴格,當傳遞引數明確要求是LPARAM型別的引數,經常需要將其轉化成CString型別的資料 假如現在有一個型別為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類的過載函式!