主题:在Visual Stdio 2008中,读取注册表时对宽字符的处理问题?
[color=0000FF][size=3]在Visual Stdio 2008中,对字符是用宽字符格式处理的,一个字符占两个字节。
我用RegQueryValueEx(hKEY,strUser,NULL,&keyType,getValue,&DataLen)读取注册表时,出现了一个问题。strUser是这样定义的:CString strUser = _T("UserID");值UserID为“6770E032372B29755D5CDEDA39386D41”,但在getValue(LPBYTE类型)得到的不是'6' '7' '7' '0' 'E'……,而是'6' 0 '7' 0 '7' 0 '0' 0 'E'……相当于一个字符占两个字节,第一个字节为“有效字符”,第二个字节为0,这样我想把getValue中的字符赋给一个CString对象时:CString s=getValue; s只得到了一个字符'6'!
请问怎样才能将值UserID赋给CString对象呢??麻烦各位大虾给予指点!!谢谢了!!![/size][/color]
我用RegQueryValueEx(hKEY,strUser,NULL,&keyType,getValue,&DataLen)读取注册表时,出现了一个问题。strUser是这样定义的:CString strUser = _T("UserID");值UserID为“6770E032372B29755D5CDEDA39386D41”,但在getValue(LPBYTE类型)得到的不是'6' '7' '7' '0' 'E'……,而是'6' 0 '7' 0 '7' 0 '0' 0 'E'……相当于一个字符占两个字节,第一个字节为“有效字符”,第二个字节为0,这样我想把getValue中的字符赋给一个CString对象时:CString s=getValue; s只得到了一个字符'6'!
请问怎样才能将值UserID赋给CString对象呢??麻烦各位大虾给予指点!!谢谢了!!![/size][/color]