typedef struct _DEVICE_PARAM{
PWCHAR szKeyName;
ULONG uFlag;
}DEVICE_PARAM,*PDEVICE_PARAM;这个事结构体定义,我想定义一个这个类型的结构变量,然后对其中的成员赋值 DEVICE_PARAM pDeviceParam;
pDeviceParam.szKeyName=L"fd";
pDeviceParam.uFlag=0L;这样为什么不行啊?
是不是结构体要new啊?同时询问下,CString怎么转换到PWCHAR啊?CString x(_T("FUCK"));
怎么把x弄到我的结构的第一个成员中去呢?
PWCHAR szKeyName;
ULONG uFlag;
}DEVICE_PARAM,*PDEVICE_PARAM;这个事结构体定义,我想定义一个这个类型的结构变量,然后对其中的成员赋值 DEVICE_PARAM pDeviceParam;
pDeviceParam.szKeyName=L"fd";
pDeviceParam.uFlag=0L;这样为什么不行啊?
是不是结构体要new啊?同时询问下,CString怎么转换到PWCHAR啊?CString x(_T("FUCK"));
怎么把x弄到我的结构的第一个成员中去呢?
WCHAR szKeyName[256];
ULONG uFlag;
}DEVICE_PARAM,*PDEVICE_PARAM; wcscpy(pDeviceParam.szKeyName, L"fd");
不用数组,在使用使用前需要new赋值。
DEVICE_PARAM DeviceParam;
DeviceParam.szKeyName=new WCHAR[20];
DeviceParam.uFlag=0L; wcscpy(DeviceParam.szKeyName,x.GetBuffer());这样可以吗?
怎么把x弄到我的结构的第一个成员中去呢?
------------------------------------------
CString支持LPCTSTR的显式转换。可以这样
(LPTSTR)(LPCTSTR)x
typedef struct _DEVICE_PARAM{
CString szKeyName;
ULONG uFlag;
}DEVICE_PARAM,*PDEVICE_PARAM;