在设置注册表键值时,使用RegSetValue(HKEY hKey,LPCTSTR lpValueName,DWORD Reserved,DWORD dwType,CONST BYTE* lpData,DWORD cbData)时,因为我是从一个 Cedit控件中获取数据,类型是CString型,但是强制转换BYTE*会报错,大哥大姐,帮帮忙 5回复次数:12
第1个回答
在线等
第2个回答
CString str;
(BYTE*)LPCTSTR(str)
第3个回答
大哥,LPCTSTR(str)是什么意思啊?
第4个回答
//Cstring --> char[]
CString str;
str = "kingpang";
char cstr[128];
WideCharToMultiByte(CP_OEMCP, 0, str, -1, cstr, str.GetLength(), NULL, NULL);
第5个回答
CString转换为char数组[],不知道你的CString是不是UNICODE的呢
假设有要转换的CString变量str
char* szStr;
int num=str.GetLgenth();
szStr=new char[num];
memcpy(szStr,(LPCTSTR)str,num);
第6个回答
当然有可能是unicode,
请问还有什么函数啊
就是从一个编辑框里得到文本(CString类型),然后写入注册表里。
第7个回答
用Cstring::GetBuffer(int nCount);这个方法看看。
第8个回答
(char*)LPCTSTR(str)
第9个回答
CString str;
char* ch =str.getbuffer(0);
第10个回答
用GetBuffer
第11个回答
CString str;
将函数调用的str实参换成str.GetBuffer(str.GetLength())
第12个回答
我常用的就是11楼的办法